API Libraries
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.
Contents
Building your own library
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
- 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
Javascript
- 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
Ruby
- Radiator (@inertia) {TX SIGNING} - Ruby API Client for Steem.
- steemdata-rb (@inertia) - ActiveRecord (ruby) wrapper for SteemData (see MongoDB below).
Golang
- Go-Steem (@void aka @tchap) {TX SIGNING} - A library for STEEM which supports transaction signing.
Java
- Steem API-Wrapper for Java (@dez1337) - An API Wrapper for Steem written in Java
SQL
- Steem SQL (@arcange) - A publicly exposed Microsoft SQL database containing all the blockchain data for STEEM.
MongoDB
- SteemData (@furion) - A publicly exposed MongoDB service containing all the blockchain data for STEEM.
Rust
- steem-client-rs (@ontofractal) - This is a Steem client library for Rust. Work in progress.
Rethinkdb
- Ingestron Steem (@faddat) - Rethinkdb Ingestor in Golang