API Libraries

From Steem Blockchain

API Libraries allow you to work with either the WebSocket Steemd API, or the cli_wallet API. They are available for many languages.

Be aware you don't need to run your own Steem daemon for most cases, you can just connect to a public one, such as Steem.WS ran by @Xeroc and @Jesta.

Items tagged with {TX SIGNING} support the ability to build STEEM transactions. Those without the tag may not be able to build transactions, e.g. upvotes, price feeds etc.

Building your own library[edit]

Both Steemd and the cli_wallet use a standard JSON RPC over Websockets or HTTP system for most calls. @klye has written an article explaining the basics of the JSON RPC system: https://steemit.com/steem/@klye/an-introduction-to-steemd-api-calls-functions-and-usage

To support transactions, such as upvoting, memos, and posts, you can check out this in-depth article by @xeroc, creator of the Python Steem library, Piston: https://steemit.com/steem/@xeroc/steem-transaction-signing-in-a-nutshell

Python[edit]

  • steem-python (Steemit Inc.) {TX SIGNING} - "steem-python is the official STEEM library for Python. It comes with a BIP38 encrypted wallet and a practical CLI utility called steempy."
  • Piston (@xeroc) {TX SIGNING} - A powerful python API capable of making bots in just a few lines of code, and any other interaction with the Blockchain that you would require.
  • beem (@holgern) {TX SIGNING} - Unofficial Python Library for Steem. A powerful python API similar to steem-python, but with additional features and Windows support.

Javascript[edit]

  • SteemJS (@svk) {TX SIGNING} - A javascript library capable of building, signing, and broadcasting Steem transactions, and other useful functions.
  • SteemJS (@pharesim) - Unrelated to SVK's SteemJS. This offers nothing more than a very light JS API for connecting to the Steem WebSocket API.

PHP[edit]

Ruby[edit]

Golang[edit]

Java[edit]

SQL[edit]

  • Steem SQL (@arcange) - A publicly exposed Microsoft SQL database containing all the blockchain data for STEEM.

MongoDB[edit]

Rust[edit]

Rethinkdb[edit]

In other languages[edit]