- Notifications
You must be signed in to change notification settings - Fork75
Steem Platform Developer Documentation.
License
steemit/devportal
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Steemit is the social media platform where everyone gets paid for creating and curating content.
The following API documents provide details on how to interact with the Steem blockchain database API which can get information on accounts, content, blocks and much more!
The developer portal will also serve as a toolbox for steem clients, libraries, and language wrappers.
Steemit Portal was built withJekyll version 3.1.6, but should support newer versions as well.
Install the dependencies withBundler:
$ bundle install
Runjekyll
commands through Bundler to ensure you're using the right versions:
$ bundleexec jekyll serve
You can now test locally at
http://localhost:4000
Optionally, when runningjekyll
commands through Bundler, append--host x.x.x.x
with the external IP address of the server to be able to connect remotely:
$ bundleexec jekyll serve --host x.x.x.x
http://x.x.x.x:4000
This application usesrake
(Ruby's make command) to execute maintenance tasks. You can see the complete list of tasks by typing:
$ bundleexec rake -T
When you're ready to deploy this application to production, make sure you have nothing to commit and your working tree is clean, then type:
$ bundleexec rake production:deploy
The above command will deploy the current site togh-pages
.
To reverse a previous bad deploy, use:
$ bundleexec rake production:rollback
This application maintains a copy of API Definitions in_data/apidefinitions
in YAML format. The purpose of these.yml
files is to reflect details of each method.
In order to accurately synchronize the.yml
files, we've added arake
task to evaluate the current state of the actual API, as reflected by thejsonrpc
methods.
This command will check the current state of the API Definitions, report any differences, and write a new.yml
file if these differences exist:
$ bundleexec rake scrape:api_defs
Typical output:
Definitions for: account_by_key_api, methods: 1Definitions for: account_history_api, methods: 3Definitions for: condenser_api, methods: 85Definitions for: database_api, methods: 46Definitions for: follow_api, methods: 10Definitions for: jsonrpc, methods: 2Definitions for: market_history_api, methods: 7Definitions for: network_broadcast_api, methods: 3Definitions for: tags_api, methods: 20Definitions for: witness_api, methods: 2Methods added or changed: 0
If you're interested in running the scrape against a different server, run the command like so:
$ TEST_NODE=<some server url> bundleexec rake scrape:api_defs
An example pointing at the steemitdev testnet:
$ TEST_NODE=https://testnet.steemitdev.com bundleexec rake scrape:api_defs
To import all new tutorials from all known tutorial repositories, which is the typical use case:
bundleexec rake scrape:tutorials
Targeted Import:devportal-tutorials-js
This command will check for new tutorials indevportal-tutorials-js
and import them into this project.
bundleexec rake scrape:tutorials:js
To force update on a particular tutorial, use the following command:
bundleexec rake scrape:tutorials:js[1,true]
Where1
represents the numerical prefix like in01_blog_feed
andtrue
instructs the task to overwrite what's there, even if it exists.
Other Targeted imports supported are:py
and:js
using the same syntax.
Targeted Import:devportal-tutorials-py
bundleexec rake scrape:tutorials:py
Targeted Import:devportal-tutorials-rb
bundleexec rake scrape:tutorials:rb
To test allcurl
examples, use the followingrake
task:
$ bundleexec rake test:curl
Or, to test specific API namespaces, use:
$ bundleexec rake test:curl["follow_api witness_api"]
If you're interested in running this test against a different server, run the command like so
$ TEST_NODE=<some server url> bundleexec rake test:curl
An example pointing at the steemitdev testnet
$ TEST_NODE=https://testnet.steemitdev.com bundleexec rake test:curl
About
Steem Platform Developer Documentation.