Steem Developer logo

Steem Developer Portal

Welcome to our API

This API document is designed for those interested in developing with steem.

Our API docs are still under development and constantly evolving. The source code for the Dev Portal is open source, and pull requests to update the portal are accepted and encouraged. Developers who would like to make additional improvements to the Dev Portal may submit pull requests to the GitHub repository: https://github.com/steemit/devportal.

Please visit the quickstart section which includes helpful tutorials to get going quickly. More detailed endpoint and advanced features are available in services for building robust platforms on the amazing and censorship resistant steem blockchain.

Choose Library

Getting started to develop robust and feature rich steem applications couldn’t be easier. Accessing steem data is easy from various options depending on your infrastructure and objectives.

Building a picture discovery app is a breeze with the JavaScript library. There is also a Python library available, Steemit.com and SBDS services, as well as many third party developer projects which could be beneficial for your steem project.

steemd Nodes

Applications that interface directly with the Steem blockchain will need to connect to a steemd node. Developers may choose to use one of the public API nodes that are available, or run their own instance of a node.

Public Nodes

URL Owner
gtg.steem.house:8090 @gtg
steemd.minnowsupportproject.org @followbtcnews
steemd.privex.io @privex
steemd.steemit.com @steemit
rpc.steemliberator.com @netuoso

Private Nodes

The simplest way to get started is by deploying a prebuilt dockerized container.

Dockerized p2p Node

To run a p2p node (ca. 2GB of memory is required at the moment):

Dockerized Full Node

to run a node with all the data (e.g. for supporting a content website) that uses ca. 14GB of memory and growing:

docker run \
    -d -p 2001:2001 -p 8090:8090 --name steemd-default \
    steemit/steem

docker logs -f steemd-default  # follow along
docker run \
    --env USE_WAY_TOO_MUCH_RAM=1 \
    -d -p 2001:2001 -p 8090:8090 --name steemd-full \
    steemit/steem

docker logs -f steemd-full

Example

This is a simple example of how to post an article to the STEEM blockchain using the steem-js library. For the purpose of the example, it’s done with inline javascript in an HTML file.

Accompanying youtube tutorial: https://youtu.be/6Sy33DnyGs8

The tutorial assumes some basic knowledge of both HTML and javascript. For simplicity, this is done with a single HTML file and inline javascript.

By default the steem-js library connects to steemit.com’s public STEEM nodes. To kickstart 3rd party development projects this is entirely acceptable. If your STEEM app turns into a larger project and maybe even a full-fledged site you may want to consider running your own nodes. If you want to use different nodes, the RPC endpoint can be specified but it’s left out for this simple example.

Open your favorite text editor or IDE (atom, sublimetext, text edit, or even notepad).

Make a basic skeleton of a webpage in HTML to use as your ‘interface’. Include input boxes for username, posting key, title, and a textarea for the body of the article.

Add a script line to pull in the steem-js library inline.

Create a post function that uses the steem-js function steem.broadcast.comment() to make a post. As far as the blockchain is concerned, a new article/post is the same as a comment, you actually use the same function for both.

Save the file as steempostexample.html and load it in your web browser. That’s it!

Skeleton

<html>
<head><title>steem-js posting example</title></head>
<body>
<h2>Post an article to the steem blockchain!</h2>
Username: <input id="username" type="text"><br/>
Posting key: <input id="postingKey" type="password" size="65"><br/>
Title of article: <input id="title" type="text"><br/>
Article text:<br/>
<textarea id="article"></textarea><br/>
<input id="postIt" type="button" value="Post it!" onClick=postArticle()>
</body>
</html>

Script Line

<script src="https://cdn.steemjs.com/lib/latest/steem.min.js"></script>

Post Function

<script language="JavaScript">
function postArticle()
{
  steem.broadcast.comment(
    document.getElementById('postingKey').value, // posting wif
    '', // author, leave blank for new post
    'steemtest', // first tag
    document.getElementById('username').value, // username
    'name-of-my-test-article-post', // permlink
    document.getElementById('title').value, // Title
    document.getElementById('article').value, // Body of post
    // json metadata (additional tags, app name, etc)
    { tags: ['secondtag'], app: 'steemjs-test!' },
    function (err, result) {
      if (err)
        alert('Failure! ' + err);
      else
        alert('Success!');
    }
  );
}
</script>

Getting Started

Our official JS toolkit Steem.js makes is easy to access the steem blockchain for your project. The Javascript library let’s your app easily access steem blockchain data and also perform user actions.

The toolkit is located at: https://github.com/steemit/steem-js.

Get running with Steem.js with a few simple options.

NPM install for Javascript projects.

npm install steem --save

Link directly from the CDN.

<script src="//cdn.steemjs.com/lib/latest/steem.min.js"></script>

API References

WebSocket

Access the Steem websocket API enabling RPC communication with steemd.

Tags

Access tags, filter by type.

Blocks

Access blocks by number.

Categories

Access Categories.

Globals

Keys

Accounts

Market

Authority

Votes

Content

Witness

WebSocket

Set WebSocket

steem.api.setWebSocket(url);

Set Pending Transaction Callback

steem.api.setPendingTransactionCallback(cb, function(err, result) {
  console.log(err, result);
});

Cancel All Subscriptions

steem.api.cancelAllSubscriptions(function(err, result) {
  console.log(err, result);
});

Tags

Get Trending Tags

steem.api.getTrendingTags(afterTag, limit, function(err, result) {
  console.log(err, result);
});

Get Discussions By Trending

steem.api.getDiscussionsByTrending(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Created

steem.api.getDiscussionsByCreated(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Active

steem.api.getDiscussionsByActive(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Cashout

steem.api.getDiscussionsByCashout(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Payout

steem.api.getDiscussionsByPayout(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Votes

steem.api.getDiscussionsByVotes(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Children

steem.api.getDiscussionsByChildren(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Hot

steem.api.getDiscussionsByHot(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Feed

steem.api.getDiscussionsByFeed(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Blog

steem.api.getDiscussionsByBlog(query, function(err, result) {
  console.log(err, result);
});

Get Discussions By Comments

steem.api.getDiscussionsByComments(query, function(err, result) {
  console.log(err, result);
});

Blocks

Get Block Header

steem.api.getBlockHeader(blockNum, function(err, result) {
  console.log(err, result);
});

Get Block

steem.api.getBlock(blockNum, function(err, result) {
  console.log(err, result);
});

Get State

steem.api.getState(path, function(err, result) {
  console.log(err, result);
});

Categories

Get Trending Categories

steem.api.getTrendingCategories(after, limit, function(err, result) {
  console.log(err, result);
});

Get Best Categories

steem.api.getBestCategories(after, limit, function(err, result) {
  console.log(err, result);
});

Get Active Categories

steem.api.getActiveCategories(after, limit, function(err, result) {
  console.log(err, result);
});

Get Recent Categories

steem.api.getRecentCategories(after, limit, function(err, result) {
  console.log(err, result);
});

Globals

Get Config

steem.api.getConfig(function(err, result) {
  console.log(err, result);
});

Get Dynamic Global Properties

steem.api.getDynamicGlobalProperties(function(err, result) {
  console.log(err, result);
});

Get Chain Properties

steem.api.getChainProperties(function(err, result) {
  console.log(err, result);
});

Get Feed History

steem.api.getFeedHistory(function(err, result) {
  console.log(err, result);
});

Get Current Median History Price

steem.api.getCurrentMedianHistoryPrice(function(err, result) {
  console.log(err, result);
});

Get Hardfork Version

steem.api.getHardforkVersion(function(err, result) {
  console.log(err, result);
});

Get Next Scheduled Hardfork

steem.api.getNextScheduledHardfork(function(err, result) {
  console.log(err, result);
});

Keys

Get Key References

steem.api.getKeyReferences(key, function(err, result) {
  console.log(err, result);
});

Accounts

Get Accounts

steem.api.getAccounts(names, function(err, result) {
  console.log(err, result);
});

Lookup Account Names

steem.api.lookupAccountNames(accountNames, function(err, result) {
  console.log(err, result);
});

Lookup Accounts

steem.api.lookupAccounts(lowerBoundName, limit, function(err, result) {
  console.log(err, result);
});

Get Account Count

steem.api.getAccountCount(function(err, result) {
  console.log(err, result);
});

Get Conversion Requests

steem.api.getConversionRequests(accountName, function(err, result) {
  console.log(err, result);
});

Get Account History

steem.api.getAccountHistory(account, from, limit, function(err, result) {
  console.log(err, result);
});

Get Owner History

steem.api.getOwnerHistory(account, function(err, result) {
  console.log(err, result);
});

Get Recovery Request

steem.api.getRecoveryRequest(account, function(err, result) {
  console.log(err, result);
});

Market

Get Order Book

steem.api.getOrderBook(limit, function(err, result) {
  console.log(err, result);
});

Get Open Orders

steem.api.getOpenOrders(owner, function(err, result) {
  console.log(err, result);
});

Authority

Get Transaction Hex

steem.api.getTransactionHex(trx, function(err, result) {
  console.log(err, result);
});

Get Transaction

steem.api.getTransaction(trxId, function(err, result) {
  console.log(err, result);
});

Get Required Signatures

steem.api.getRequiredSignatures(trx, availableKeys, function(err, result) {
  console.log(err, result);
});

Get Potential Signatures

steem.api.getPotentialSignatures(trx, function(err, result) {
  console.log(err, result);
});

Verify Authority

steem.api.verifyAuthority(trx, function(err, result) {
  console.log(err, result);
});

Verify Account Authority

steem.api.verifyAccountAuthority(nameOrId, signers, function(err, result) {
  console.log(err, result);
});

Votes

Get Active Votes

steem.api.getActiveVotes(author, permlink, function(err, result) {
  console.log(err, result);
});

Get Account Votes

steem.api.getAccountVotes(voter, function(err, result) {
  console.log(err, result);
});

Content

Get Content Replies

steem.api.getContentReplies(parent, parentPermlink, function(err, result) {
  console.log(err, result);
});

Get Discussions By Author Before Date

steem.api.getDiscussionsByAuthorBeforeDate(author, startPermlink, beforeDate, limit, function(err, result) {
  console.log(err, result);
});

Get Replies By Last Update

steem.api.getRepliesByLastUpdate(startAuthor, startPermlink, limit, function(err, result) {
  console.log(err, result);
});

Witness

Get Witnesses

steem.api.getWitnesses(witnessIds, function(err, result) {
  console.log(err, result);
});

Get Witness By Account

steem.api.getWitnessByAccount(accountName, function(err, result) {
  console.log(err, result);
});

Get Witnesses By Vote

steem.api.getWitnessesByVote(from, limit, function(err, result) {
  console.log(err, result);
});

Lookup Witness Accounts

steem.api.lookupWitnessAccounts(lowerBoundName, limit, function(err, result) {
  console.log(err, result);
});

Get Witness Count

steem.api.getWitnessCount(function(err, result) {
  console.log(err, result);
});

Get Active Witnesses

steem.api.getActiveWitnesses(function(err, result) {
  console.log(err, result);
});

Examples

Photography

Utilizing the Javascript library with a few lines of code, display the latest photography posts, along with payout data.

You can easily create the next instagram on the steem platform.

Example site: snapsteem.com

Let’s get started:

Use the get state method to return trending photography posts.

Displayed is example output of an individual content object returned.

Last, let’s loop over your results and return each payout amount. Using our example above we will have an object with “content”.

Accounts

Easily fetch account data on the following users.

State

Easily fetch state.

Broadcast

Easily cast a vote for a user.

Reputation

Easily handle reputation parsing.

Photography

var results = steem.api.getState('/trending/photography', function(err, result) {
	console.log(err, result);
});
{
 "ats-david/nature-in-black-and-white-volume-iii": {
 "id": 2202087,
 "author": "ats-david",
 "permlink": "nature-in-black-and-white-volume-iii",
 "category": "photography",
 "parent_author": "",
 "parent_permlink": "photography",
 "title": "Nature in Black and White: Volume III",
 "body": "### Do we see the beauty in colorful objects and detailed images the same when color is removed?\n\nHere are more images from my adventures in nature...in black and white, of course.\n\n<hr>\n\n![IMG_0460-3_bw.jpg](https://steemitimages.com/DQmTb3aYwhUqRuWXjUNWFF8BxG98kzinufY3eMtd1Wggnd1/IMG_0460-3_bw.jpg)\n\n<br />\n\n![IMG_0461-2_bw.jpg](https://steemitimages.com/DQmaw6cofwQMKt8Jpj8Em6VxLYLRU1MYCH5aaQAxefLb3wM/IMG_0461-2_bw.jpg)\n\n<br />\n\n![IMG_0462-2_bw.jpg](https://steemitimages.com/DQmZMAgzj81isjeNZeCSxCBD6TKYAG2n6qc6475rrd9wCCG/IMG_0462-2_bw.jpg)\n\n<br />\n\n![IMG_2581-2_bw.jpg](https://steemitimages.com/DQmV3ECCU9pobunhFa1SgPXTQkiEhYijixqgaqM9Q5RhDGG/IMG_2581-2_bw.jpg)\n\n<br />\n\n![IMG_2928-1_bw.jpg](https://steemitimages.com/DQmXcGpQWDXzuEo2XTzJnErG4rjrgwgbr5TQeQpaM1MwRww/IMG_2928-1_bw.jpg)\n\n<br />\n\n![IMG_2912-1_bw.jpg](https://steemitimages.com/DQmfU8spbdp8isEirVPV1B69LeFVwgj2cucCNyA4kEnCB9h/IMG_2912-1_bw.jpg)\n\n<br />\n\n![IMG_2935-1_bw.jpg](https://steemitimages.com/DQmVsQUTkdYYVJu2VyHxA6JmHxZY9Re3Pk3Ldkb6Ky2Gmih/IMG",
 "json_metadata": "{\"tags\":[\"photography\",\"nature\",\"life\",\"travel\",\"blackandwhite\"],\"users\":[\"mynameisbrian\",\"ats-david\"],\"image\":[\"https://steemitimages.com/DQmTb3aYwhUqRuWXjUNWFF8BxG98kzinufY3eMtd1Wggnd1/IMG_0460-3_bw.jpg\",\"https://steemitimages.com/DQmaw6cofwQMKt8Jpj8Em6VxLYLRU1MYCH5aaQAxefLb3wM/IMG_0461-2_bw.jpg\",\"https://steemitimages.com/DQmZMAgzj81isjeNZeCSxCBD6TKYAG2n6qc6475rrd9wCCG/IMG_0462-2_bw.jpg\",\"https://steemitimages.com/DQmV3ECCU9pobunhFa1SgPXTQkiEhYijixqgaqM9Q5RhDGG/IMG_2581-2_bw.jpg\",\"https://steemitimages.com/DQmXcGpQWDXzuEo2XTzJnErG4rjrgwgbr5TQeQpaM1MwRww/IMG_2928-1_bw.jpg\",\"https://steemitimages.com/DQmfU8spbdp8isEirVPV1B69LeFVwgj2cucCNyA4kEnCB9h/IMG_2912-1_bw.jpg\",\"https://steemitimages.com/DQmVsQUTkdYYVJu2VyHxA6JmHxZY9Re3Pk3Ldkb6Ky2Gmih/IMG_2935-1_bw.jpg\",\"https://steemitimages.com/DQmU7DULoUra3yxN9KiUErKpZTf8F33UtjW7KjceZn4hQ8X/IMG_2793_1_bw.jpg\",\"https://steemitimages.com/DQmerT739AigSpyXHEn6ariLENvPB6f4KfEZaWoPbNfJXc8/IMG_2814-1_bw.jpg\",\"https://steemitimages.com/DQmYiU1p14qi57MSw3E8QQJxmeBoMFsJ6TVkXYjGjGcXX6F/IMG_2815-1_bw.jpg\",\"https://steemitimages.com/DQmVHgDLF7PbiamAxqfs66XXwnrfPwXbo4PrKaWCoSTdRA8/IMG_2628-2_bw.jpg\",\"http://www.steemimg.com/images/2017/03/08/ats_content_slayer_bwd9706.md.jpg\"],\"links\":[\"http://www.steemimg.com/image/OPX18\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
 "last_update": "2017-03-20T20:48:45",
 "created": "2017-03-20T20:48:45",
 "active": "2017-03-21T15:38:51",
 "last_payout": "1970-01-01T00:00:00",
 "depth": 0,
 "children": 11,
 "children_rshares2": "338868651292331066826618722",
 "net_rshares": "16371652797084",
 "abs_rshares": "29650160882494",
 "vote_rshares": "23010906839789",
 "children_abs_rshares": "30710187259990",
 "cashout_time": "2017-03-21T22:47:20",
 "max_cashout_time": "2017-04-03T20:49:18",
 "total_vote_weight": "15714996608417319864",
 "reward_weight": 10000,
 "total_payout_value": "0.000 SBD",
 "curator_payout_value": "0.000 SBD",
 "author_rewards": 0,
 "net_votes": 312,
 "root_comment": 2202087,
 "mode": "first_payout",
 "max_accepted_payout": "1000000.000 SBD",
 "percent_steem_dollars": 10000,
 "allow_replies": true,
 "allow_votes": true,
 "allow_curation_rewards": true,
 "url": "/photography/@ats-david/nature-in-black-and-white-volume-iii",
 "root_title": "Nature in Black and White: Volume III",
 "pending_payout_value": "51.332 SBD",
 "total_pending_payout_value": "52.155 SBD"
  }
 }
for (var results in content) {
    // log each payout amount 
    console.log(pending_payout_value)   
}

Accounts

steem.api.getAccounts(['ned', 'sneak'], function(err, result) {
    console.log(err, result);
});

State

steem.api.getState('/trends/funny', function(err, result) {
    console.log(err, result);
});

Broadcast

var steem = require('steem');

var wif = steem.auth.toWif(username, password, 'posting');
steem.broadcast.vote(wif, voter, author, permlink, weight, function(err, result) {
    console.log(err, result);
});

Reputation

var reputation = steem.formatter.reputation(user.reputation);
console.log(reputation);

Getting Started

steem-python is the official STEEM library for Python. It comes with a BIP38 encrypted wallet and a practical CLI utility called steempy.

The library was designed to allow Python developers to easily access the network and build utilities & applications.

Currently steem-python documentation is generated in the standard pydoc format.

Documentation is available at: Official steem-python Docs.

Steemit.com

steemit.com endpoints

Steemit.com offers a few endpoints for getting common data. User profile and post JSON data is very convenient and simple by appending .json to your request.

Getting a particular user profile JSON:

https://steemit.com/@curie.json

Getting a particular post JSON:

https://steemit.com/curation/@curie/the-daily-curie-12-13-feb-2017.json

Example outputs.

User object

{
"user": {
"id": 81544,
"name": "curie",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
    [
    "STM69WGR1yhUdKrnzwQLDPnXrW9kaAERwHze8Uvtw2ecgRqCEjWxT",
    1
    ]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
    [
    "STM5GAbbS84ViMEouJL3LKcM8VZzPejn68AfPaYaLZZDdmy98kwU5",
    1
    ]
]
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2016-12-04T12:47:39",
"created": "2016-09-02T10:44:24",
"mined": false,
"owner_challenged": false,
"active_challenged": false,
"last_owner_proved": "1970-01-01T00:00:00",
"last_active_proved": "1970-01-01T00:00:00",
"recovery_account": "anonsteem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 229,
"can_vote": true,
"voting_power": 5960,
"last_vote_time": "2017-02-13T19:21:12",
"balance": "1577.838 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "2918395506",
"sbd_seconds_last_update": "2017-02-12T15:58:36",
"sbd_last_interest_payment": "2017-02-05T13:45:09",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"vesting_shares": "141562477.072664 VESTS",
"vesting_withdraw_rate": "12897472.658235 VESTS",
"next_vesting_withdrawal": "2017-02-15T04:53:06",
"withdrawn": "116077253924115",
"to_withdraw": "167667144557061",
"withdraw_routes": 0,
"curation_rewards": 448416,
"posting_rewards": 154104841,
"proxied_vsf_votes": [
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
],
"witnesses_voted_for": 1,
"average_bandwidth": 855531960,
"lifetime_bandwidth": "10797835000000",
"last_bandwidth_update": "2017-02-13T19:21:12",
"average_market_bandwidth": 127424482,
"last_market_bandwidth_update": "2017-02-12T15:39:57",
"last_post": "2017-02-13T18:00:51",
"last_root_post": "2017-02-13T18:00:51",
"post_bandwidth": 19271,
"new_average_bandwidth": "370418659068",
"new_average_market_bandwidth": "93913506382",
"vesting_balance": "0.000 STEEM",
"reputation": "330673789878881",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [
"curie"
],
"tags_usage": [],
"guest_bloggers": [],
"blog_category": {}
},
"status": "200"
}  

Post object

{
"post": {
"id": 1720643,
"author": "curie",
"permlink": "the-daily-curie-08-09-jan-2017",
"category": "curation",
"parent_author": "",
"parent_permlink": "curation",
"title": "The Daily Curie (08-09 Jan 2017)",
"body": "https://www.steemimg.com/images/2016/09/26/transporency5631977a38.png)</center>
\n IntroductionCurie](https://steemit.com/steemit/@donkeypong/announcing-project-curie-bringing-rewards-and-recognition-to-steemit-s-undiscovered-and-emerg
ing-authors) is a community project",
"last_update": "2017-01-09T12:20:15",
"created": "2017-01-09T12:20:15",
"active": "2017-01-11T22:44:57",
"last_payout": "2017-02-09T14:40:54",
"depth": 0,
"children": 36,
"children_rshares2": "0",
"net_rshares": 0,
"abs_rshares": 0,
"vote_rshares": 0,
"children_abs_rshares": 0,
"cashout_time": "1969-12-31T23:59:59",
"max_cashout_time": "1969-12-31T23:59:59",
"total_vote_weight": 0,
"reward_weight": 10000,
"total_payout_value": "0.000 SBD",
"curator_payout_value": "0.000 SBD",
"author_rewards": 0,
"net_votes": 519,
"root_comment": 1720643,
"mode": "archived",
"max_accepted_payout": "0.000 SBD",
"percent_steem_dollars": 10000,
"allow_replies": true,
"allow_votes": true,
"allow_curation_rewards": true,
"url": "/curation/@curie/the-daily-curie-08-09-jan-2017",
"root_title": "The Daily Curie (08-09 Jan 2017)",
"pending_payout_value": "0.000 SBD",
"total_pending_payout_value": "0.000 SBD"
}

SBDS

sbds is a tool for easily querying the data of the Steem Blockchain.

While providing direct interfaces to several pluggable storage architectures that may be used for querying the blockchain, sbds may also be used as a lower level API upon which other applications can be built.

Docker Hub

docker run -d steemit/sbds

Python 3

pip3 install -e git+git@github.com:steemit/sbds.git#egg=sbds

Examples

Stream blocks 1 to 3450000 from our dev S3 bucket

sbds checkpoints get-blocks s3://steemit-dev-sbds-checkpoints/gzipped --start 1 --end 3450000

Stream blocks 8000000 to the last block from your local copy of our S3 bucket

sbds checkpoints get-blocks /home/ubuntu/checkpoints/gzipped --start 8000000

Stream all blocks from your local copy of our S3 bucket

sbds checkpoints get-blocks /home/ubuntu/checkpoints/gzipped

Routes

Coming soon.

Overview

The steem community is thriving with developer activity and projects to support our great blockchain steem.

While we don’t officially endorse the following projects, below are growing third party developer projects which could be beneficial for your steem project.

Ruby Client

Radiator is a Ruby API client to interact with the steem blockchain.

Radiator - https://github.com/inertia186/radiator

steemSQL

A public Microsoft SQL server database with steem blockchain data.

steem SQL - http://www.steemsql.com/

MongoDB

SteemData helps developers and researchers build better STEEM applications. We parse the STEEM blockchain for you, and provide the data as a fast and convenient MongoDB service.

SteemData provides public MongoDB database, as well as HTTP API endpoints.

Steem Data - https://steemdata.com/

SteemDevs Chat

SteemDevs chat is a Discord chat community where members of the Steem development community go to discuss Steem development, and other related topics. It is a great place to go to ask questions, meet other developers that are working on Steem projects, share tips and code snippets, and discuss the items you are working on.

SteemDevs Chat - https://discord.gg/B29Bbng

Developer Advocate

The members of the Steemit Inc. development team are currently the main contributors to the Steem blockchain software. They oversee the open source Steem GitHub repository, and maintain many of the open source libraries that developers use.

Steemit’s Developer Advocate is here to make the process of developing for the Steem platform as smooth as possible. If you have any comments, concerns, or suggestions about how to improve the experience of developing applications with the Steem blockchain - please don’t hesitate to reach out.

Please note, the D.A. receives a lot of emails, but they will respond as quickly as possible.