Difference between revisions of "API Libraries"

From Steem Center
Jump to: navigation, search
(Created page with "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 ow...")
 
(adding beem to python APIs)
 
(23 intermediate revisions by 7 users not shown)
Line 1: Line 1:
API Libraries allow you to work with either the WebSocket [[Steemd]] API, or the cli_wallet API. They are available for many languages.
+
API Libraries allow you to work with either the WebSocket [[Steemd]] API, or the [[CLI_Wallet|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 [https://steem.ws Steem.WS] ran by @Xeroc and @Jesta
+
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 [https://steem.ws 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 ==
 +
 
 +
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 ==
 
== Python ==
* [https://github.com/xeroc/piston Piston] - 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
+
* [https://github.com/steemit/steem-python 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."
 +
* [https://github.com/xeroc/piston 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.
 +
* [https://github.com/holgern/beem 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 ==
 
== Javascript ==
  
* [https://github.com/svk/steemjs-lib SteemJS (svk)] - A javascript library capable of building, signing, and broadcasting Steem transactions, and other useful functions.
+
* [https://github.com/svk31/steemjs-lib SteemJS (@svk)] {'''TX SIGNING'''} - A javascript library capable of building, signing, and broadcasting Steem transactions, and other useful functions.
* [https://github.com/pharesim/steemjs SteemJS (pharesim)] - Unrelated to SVK's SteemJS. This offers nothing more than a very light JS API for connecting to the Steem WebSocket API.
+
* [https://github.com/pharesim/steemjs 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 ==
 
== PHP ==
  
???
+
* [https://github.com/lukestokes/php-steem-tools PHP Steem Tools (@lukestokes)]
  
 
== Ruby ==
 
== Ruby ==
  
???
+
* [https://github.com/inertia186/radiator Radiator (@inertia)] {'''TX SIGNING'''} - Ruby API Client for Steem.
 +
* [https://github.com/steem-third-party/steemdata-rb steemdata-rb (@inertia)] - ActiveRecord (ruby) wrapper for SteemData (see '''MongoDB''' below).
 +
* [https://github.com/netuoso/steem_api steem_api (@netuoso)] - Rails compatible gem that provides full DB connection and models to SteemSQL.com.
 +
 
 +
== Golang ==
 +
 
 +
* [https://github.com/go-steem/rpc Go-Steem (@void aka @tchap)] {'''TX SIGNING'''} - A library for STEEM which supports transaction signing.
 +
 
 +
== Java ==
 +
 
 +
* [https://github.com/marvin-we/steem-java-api-wrapper Steem API-Wrapper for Java (@dez1337)] {'''TX SIGNING'''} - An API Wrapper for Steem written in Java.
 +
 
 +
== SQL ==
 +
 
 +
* [http://steemsql.com/ Steem SQL (@arcange)] - A publicly exposed Microsoft SQL database containing all the blockchain data for STEEM.
 +
 
 +
== MongoDB ==
 +
 
 +
* [https://steemdata.com/ SteemData (@furion)] - A publicly exposed MongoDB service containing all the blockchain data for STEEM. See also [[SteemData]].
 +
 
 +
== Rust ==
 +
 
 +
* [https://github.com/cyberpunk-ventures/steem-client-rs steem-client-rs (@ontofractal)] - This is a Steem client library for Rust. Work in progress.
 +
 
 +
== Rethinkdb ==
 +
 
 +
* [https://github.com/faddat/ingestron Ingestron Steem (@faddat)] - Rethinkdb Ingestor in Golang.
 +
 
 +
== In other languages ==
 +
 
 +
* [[Galego]]: [[API_Bibliotecas_(Gal) | API Bibliotecas]]
 +
* [[繁體中文]] (Chinese, Traditional) : [[Steem.center(繁)]]
 +
* [[简体中文]] (Chinese, Simplified) : [[Steem.center(简)]]
 +
* [[日本語]] (Japanese): [[Steem.center (jp)]]
 +
* Include other [[Languages|languages]] versions if available
 +
 
 +
<br>
 +
 
 +
 
 +
 
 +
[[Category:Lists]] [[Category:Technology]]

Latest revision as of 02:49, 6 May 2018

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

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

  • 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

  • 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

Golang

Java

SQL

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

MongoDB

Rust

Rethinkdb

In other languages