steemreduce: You Personal MapReduce for Steem
Generate your own statistics from the blockchain right now.
You must have seen some generated statistics considering Steemit, right? Like "A more comprehensive look at current payout distribution" generated by @arhag .
Let me introduce steemreduce, which is making it easy to generate your own statistics. True, you need to know some programming since the logic has to be implemented in Golang, but it is worth it. It is fun.
Not to mention that a cool CLI progress bar is included, of course.
$ ./steemreduce -rpc_endpoint="ws://$(docker-machine ip default):8090"
---> Mapper: Spawning 3 threads ...
---> Fetcher: Fetching blocks in range [0, 1909012]
---> Reducer: Getting the initial value ...
---> Reducer: Starting to process incoming blocks ...
1909013 / 1909012 [============================================] 100.00% 51m21s
---> Fetcher: All blocks fetched and enqueued
---> Reducer: We are done, writing the output ...
$ cat output.txt
Block Title Pending Payout
===== ===== ==============
1268905 The Body Knows 2.6
1325197 Let it Go, Let it Happen 444.2
1473920 So Much Energy is Wasted 0
1548838 Accessing steemd RPC endpoint using Golang 0.2
1592040 The Evolution of Consciousness 21.7
1605795 Nobody Has to Be Anybody! 0
1728062 We Are Taught, Yet We Do Not Understand 21.5
1786011 Dockerfile for steemd, tuned for performance 35.7
1851608 Evaluating Martial Arts 48.3
1872747 go-steem/rpc: Golang RPC Client Library for Steem 711.8
1907611 steemreduce: You personal MapReduce for Steem 836.6
Total pending payout: 2122.6
What would you charge in SBD's (payable on 7/4) for a Windows binary that does this or anything a non-programmer could use (if that's even possible)?
You can PM me on Steem Slack with what you need exactly. Depends on the difficulty and time I would spend implementing it. In any case, I thank you for asking, this is opening doors for starting to use STEEM a bit differently, to actually pay someone.
But it is very possible that I will set this up tomorrow when improving this package and post it as a standalone post to upvote.
That's a valuable ressource to make post that people will upvote! ;-)
The only thing that bothers me is that I should have run it from block 0 so that you can see all my cool posts! But I was lazy to wait so long... :D
EDIT: Run the reducer for the whole blockchain and updated the post.