Project

steem_data

0.0
No commit activity in last 3 years
No release in over 3 years
Wrapper for accessing steemdata.com in a ruby application.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.8.0, ~> 1.8
>= 1.15.4, ~> 1.15
>= 5.10.3, ~> 5.10
>= 0.6.4, ~> 0.6
>= 0.11.1, ~> 0.11
>= 12.1.0, ~> 12.1
>= 0.15.1, ~> 0.15
>= 0.9.9, ~> 0.9

Runtime

>= 6.1.0, ~> 6.1
 Project Readme

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.