Skip to content
Wrapper for accessing steemdata.com in a ruby application.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
lib
test
.gitignore
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
steem_data.gemspec

README.md

steem_data

Wrapper for accessing steemdata.com in a ruby application. It uses MongoID and ActiveModel to leverage all of the tools provided by those libraries.

[![](https://cl.ly/0l3G3g1V4618/Image%202017-03-02%20at%2010.32.13%20AM.png)](https://github.com/steem-third-party/steem_data)

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.

Note: This wrapper gem is built by @inertia. SteemData is built by @furion. Any questions about using this gem should be directed to @inertia.

Quick Start

Add the gem to your Gemfile:

gem 'steem_data'

Then:

$ bundle install

Usage

Look for a specific post using author and permlink.

require 'steem_data'

SteemData.load

post = SteemData::Post.find_by(author: 'inertia', permlink: 'macintosh-plus')

puts post.to_json

Which returns:

{
   "_id":{
      "$oid":"58992d230fbc46e3066fa9b1"
   },
   "abs_rshares":0,
   "active":"2017-01-24T21:28:27.000Z",
   "active_votes":[

   ],
   "allow_curation_rewards":true,
   "allow_replies":true,
   "allow_votes":true,
   "author":"inertia",
   "author_reputation":"66832013171970",
   "author_rewards":41294,
   "body": ...
 }

You can find posts with a high number of active_votes.

post = SteemData::Post.where('active_votes.1700' => {'$exists' => true}).last

puts "https://steemit.com/#{post.parent_permlink}/@#{post.author}/#{post.permlink}"

Which returns:

https://steemit.com/votu/@sirlunchthehost/take-the-vote-negation-poll-now-brought-to-you-by-sirlunchthehost-aka-the-saru-pirate-king

Or do the same with net_votes.

post = SteemData::Post.where(:net_votes.gte => 1700).last

puts "https://steemit.com/#{post.parent_permlink}/@#{post.author}/#{post.permlink}"

Which returns:

https://steemit.com/votu/@sirlunchthehost/take-the-vote-negation-poll-now-brought-to-you-by-sirlunchthehost-aka-the-saru-pirate-king

You can count the number of posts created in the last 24 hours.

 > SteemData::Post.where(:created.gte => 24.hours.ago.utc).count
 => 1366

Or do the same for a particular topic.

 > SteemData::Post.where(parent_permlink: 'life', :created.gte => 24.hours.ago.utc).count
 => 86

Get in touch!

If you're using steem_data, I'd love to hear from you. Drop me a line and tell me what you think! I'm @inertia on STEEM.

License

I don't believe in intellectual "property". If you do, consider Radiator as licensed under a Creative Commons CC0 License.

You can’t perform that action at this time.