• Stars
    star
    121
  • Rank 293,924 (Top 6 %)
  • Language
    CSS
  • License
    MIT License
  • Created almost 8 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Steem Platform Developer Documentation.

Steemit API Portal

Steemit API Portal

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.

Develop

Steemit Portal was built with Jekyll version 3.1.6, but should support newer versions as well.

Install the dependencies with Bundler:

$ bundle install

Run jekyll commands through Bundler to ensure you're using the right versions:

$ bundle exec jekyll serve

You can now test locally at

http://localhost:4000

Optionally, when running jekyll commands through Bundler, append --host x.x.x.x with the external IP address of the server to be able to connect remotely:

$ bundle exec jekyll serve --host x.x.x.x
http://x.x.x.x:4000

Rake Tasks

This application uses rake (Ruby's make command) to execute maintenance tasks. You can see the complete list of tasks by typing:

$ bundle exec rake -T

Production Deploy

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:

$ bundle exec rake production:deploy

The above command will deploy the current site to gh-pages.

To reverse a previous bad deploy, use:

$ bundle exec rake production:rollback

Managing API Definitions

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 a rake task to evaluate the current state of the actual API, as reflected by the jsonrpc 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:

$ bundle exec rake scrape:api_defs

Typical output:

Definitions for: account_by_key_api, methods: 1
Definitions for: account_history_api, methods: 3
Definitions for: condenser_api, methods: 85
Definitions for: database_api, methods: 46
Definitions for: follow_api, methods: 10
Definitions for: jsonrpc, methods: 2
Definitions for: market_history_api, methods: 7
Definitions for: network_broadcast_api, methods: 3
Definitions for: tags_api, methods: 20
Definitions for: witness_api, methods: 2
Methods 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> bundle exec rake scrape:api_defs

An example pointing at the steemitdev testnet:

$ TEST_NODE=https://testnet.steemitdev.com bundle exec rake scrape:api_defs

Importing

To import all new tutorials from all known tutorial repositories, which is the typical use case:

bundle exec rake scrape:tutorials

Targeted Import: devportal-tutorials-js

This command will check for new tutorials in devportal-tutorials-js and import them into this project.

bundle exec rake scrape:tutorials:js

To force update on a particular tutorial, use the following command:

bundle exec rake scrape:tutorials:js[1,true]

Where 1 represents the numerical prefix like in 01_blog_feed and true 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

bundle exec rake scrape:tutorials:py

Targeted Import: devportal-tutorials-rb

bundle exec rake scrape:tutorials:rb

Tests

To test all curl examples, use the following rake task:

$ bundle exec rake test:curl

Or, to test specific API namespaces, use:

$ bundle exec 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> bundle exec rake test:curl

An example pointing at the steemitdev testnet

$ TEST_NODE=https://testnet.steemitdev.com bundle exec rake test:curl

More Repositories

1

steem

The blockchain for Smart Media Tokens (SMTs) and decentralized applications.
C++
1,950
star
2

condenser

The greatest application front-end to the Steem Blockchain.
JavaScript
506
star
3

steem-js

Steem.js the official JavaScript library for Steem blockchain
JavaScript
471
star
4

steem-python

The official Python (3) library for the Steem Blockchain.
Python
154
star
5

hivemind

Developer-friendly microservice powering social networks on the Steem blockchain.
Python
73
star
6

devportal-tutorials-js

Tutorials for the Developer Portal
JavaScript
44
star
7

sbds

Steem Blockchain Data Service
Python
37
star
8

smt-whitepaper

Smart Media Tokens whitepaper
TeX
29
star
9

jussi

JSON-RPC 2.0 Reverse Proxy Frontend for Steemit
Python
27
star
10

faucet

Steemit Account Creation Web Application
CSS
22
star
11

steem-uri-spec

steem:// signing spec and reference implementation
TypeScript
14
star
12

wallet

The wallet functionality of condenser
JavaScript
12
star
13

koa-jsonrpc

TypeScript
10
star
14

rcdemo

Python
10
star
15

rpc-auth

JSON-RPC 2.0 request authentication with Steem authorities
TypeScript
9
star
16

devportal-tutorials-py

Python
9
star
17

steem-ruby

Steem-ruby is the official Ruby library for the Steem blockchain
Ruby
9
star
18

lineman

JSON-RPC 2.0 WebSocket to HTTP proxy
TypeScript
8
star
19

tinman

Testnet management scripts
Python
8
star
20

yo

Modular event-driven notification service
Python
7
star
21

whitepaper

Steem Platform Whitepaper 2.0.
Makefile
7
star
22

steemnotify

Lua
6
star
23

libcrypto-js

Cryptographic utilities for Steem in Javascript. Zero dependencies.
JavaScript
5
star
24

redeemer-irredeemables

Makefile
4
star
25

hivemind-ruby

Ruby Object Relational Mapping for Hivemind
Ruby
4
star
26

steemdb

Volt
3
star
27

dbadmin

Admin console for steemit.com's backend database built with activeadmin
Ruby
3
star
28

bluepaper

Steem Bluepaper
Shell
3
star
29

conveyor

Conveyor - Steemit APIs
TypeScript
3
star
30

swift-steem

Steem client library for iOS, macOS and Linux written in Swift
C
3
star
31

irredeemables

General abuse list for filtering from frontends via hivemind
Makefile
2
star
32

simple_steem_client

A minimalist Steem RPC client in Python
Python
2
star
33

steemit-render

TypeScript
2
star
34

smt-wizard

A web based Smart Media Token (SMT) creation wizard.
HTML
2
star
35

hive2elastic

Fork of https://github.com/esteemapp/hive2elastic
Python
1
star
36

steem-docs

1
star
37

sdc-frontend

The nginx frontend proxy server for the sdc app
Shell
1
star
38

steem-deployments

steemit specific deployment scripts
Shell
1
star