How to claim your rewards automatically? / 如何自动收取你的收益

in steemdev •  last year

Ways to claim rewards

In my previous article, I had introduced you a simple tool written by me. Using it you can easily check wallet assets and also can accurately calculate the estimated account value.

And I also added a feature to remind the user if there are rewards to be claimed. In such a situation, the page will display a highlighted text: You have rewards to be claimed. When we get this prompt message, we can log in our wallet and click to claim our rewards.

But, Are you tired of this way? Check->Login->Claim or Login->Check->Claim, We do the same thing over and over again. Is there a way to help us do these things automatically? The answer is yes!

There is a operation called claim_reward_balance_operation

Unlike the Steem API, which we can call directly, to initiate this operation you need to fill out this structure, and make a transaction structure from it, sign it with your posting private key, and then broadcast it.

Script with the official python library for STEEM

It's too complicated for me. 😭
Fortunately, the official python library for STEEM did a lot of work for us, such as to fill out this structure, to make a transaction structure and to sign the translation with your posting private key, and to broadcast it.

All we need to do is call the method claim_reward_balance of Steem Class.

A simplest script maybe like this:

#!/usr/bin/env python
from steem import Steem
steem=Steem()
steem.claim_reward_balance(account = 'oflyhigh')

Let me save it as claim_rewards_for_oflyhigh.py.
To run the above script, we MUST do following things first:

  • Install steem-python with pip
    pip install -U steem

  • Get Posting private key
    Get Posting private key from Wallet->Permissions->Show private key

  • Import Posting private key to local wallet
    steempy addkey
    Input private key and set password for local wallet (First time)

  • Set UNLOCK environment variable
    UNLOCK=mysecretpassword

  • chmod u+x claim_rewards_for_oflyhigh.py

Run the script automatically

You can add this script to cron job to let it run automatically at specified intervals.
crontab -e
0 0 * * * /path/claim_rewards_for_oflyhigh.py >>log.txt 2>&1

Then the script will be executed at 00:00 every day.
More details about crontab can be found by man crontab.

To claim rewards for multiple accounts is just as easy.
Create scripts for each account, and then setup cron job for each file. The benefit is that you can set different intervals for different users.

If you want to claim rewards for multiple account with same same interval, Place users in a list and then iterate through them may be the better way.

中文

每天检查钱包手动收取收益,是不是很累?
有么有啥办法自动完成呢?

答案是有的,steem中定义了一个操作:claim_reward_balance_operation
我们只需填充这个结构,然后生成事务,然后签名事务,然后广播它,就可以了。

听起来很简单,但是其实非常麻烦,总之我是搞不定啦。
幸运的是,STEEM官方Python库可以帮我们完成大部分工作,我们只需要调用claim_reward_balance就可以啦。脚本见英文部分。

为了让脚本能执行,我们还需要安装STEEM官方Python库,导出并导入Posting私钥,设置UNLOCK环境变量,以及修改脚本的执行权限等。

我们的目的是让脚本自动运行,这也没啥,加入到定时任务(Cron job)中就行啦。

如果有多个账户,就写多个脚本设置多个任务好了,这样的好处是可以设置不同的时间间隔。如果多个账户按相同的时间间隔收取呢,那么把用户放入列表然后再遍历是个不错的方法。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
·

Thank you.

·

oh snap its Inertia with the script!
Making an entire steemit post apear obsolete and redundant! ooohhh!!!

O哥又一篇干货。我已经用上好久了,不过是从 @yuxi帖子里 看到了,也用了 crontab, 每10分钟领一次(几个帐号 for 一下就可以)。 :)

·

我用了4个多月了 😀
每十分钟一次太夸张了吧,那得多少钱要收啊

·
·

哈哈,刚刚把这个脚本搞到另一台VPS上,弄成5分钟一次。有点小强迫。有奖励就想马上拿。

·

10分钟一次,omg 收入也te多了。嘿嘿

thx for sharing

·

This post received a 4% upvote from @randowhale thanks to @cxc! For more information, click here!

Good on you! I still do not understand the value of asking the user to "redeem" the rewards. It has an adictive affect, maybe helps keep traffic to the platform, but the platform should create value to the user, and not the other way around. This is the steemit way :)

Amazing tool!!

Wow!
This is good!
Never knew of this until now.
Thank you for the information.
Keep it on...

Damnit this is genius, I'm a super beginner Python learner and I don't understand have of the programs you posted but is incredibly thrilled about this.!

Nice tool! I will try and get it to work on the following days.
Thanks for posting!

·

You are welcome.

Oh, this would be nice...

I am not too long around here on Steemit and when it comes to coding all I mastered until now is to print "Hello World" in Python, i.e. I already have python on my computer but don't know how to run routine like yours above...

Where to enter that commands e.g. that pip installation thing ?

Would be glad if you could help me...

Thank you !

affe.jpg
@honolulu

Thanks for using tools. 👍

post is very useful, and the waiting by the community steemit, thank you for sharing @oflyhigh

Thanks for sharing this handy info and help for us Steemians!

Wow this is damn helpful. Otherwise its always checking and claiming rewards again and again.

Did you just used pure python language alongside the steam API? Or you also mixed it with another framework?

·

I use the official python library for STEEM.
You can get more details at https://github.com/steemit/steem-python

Nice post. Very useful. Thanks for sharing

哇塞!这是炫富的节奏,钱多到收不完。。。

Thank you for sharing. Now, I have an idea because if this post. Keep sharing mate.

nice post.. I upvoted u.....u can also check my post. Thank u

Gracias por tu post yompartir esa grandiosa herramienta con la comunidad steemit

It is a very useful post, thanks for script

作为一个steemit新人,我想我还是不太懂,需要一点时间摸索一下,谢谢分享~

Wow..this is an amazing article..great post.upvoted and resteem.

Very nice tool I really love to use this tool thanks for sharing

Thanks for the code

what you give .. very impressed .. hopefully what you reach friend achieve

very useful article @oflyhigh ..
thanks for sharing ..

Good post and very good information thank you for sharing.

Tnx for this very useful information, but I will stick to clicking the blue button. I think my energy level can cope with that. ;-)

·

Lol. Yeah, it doesnt take much effort doing it. I actually look forward to claiming them manually.

I already have a server!

I can just run thus script in cron!

Thanks for sharing this great tool :)

Keep steem'in hard

·

Welcome!

good blog

Good job bro.

I must look it ... I need more info :)

Hi and thank you for the great information. I have definitely learn something new today :)
-@splendorhub

How do we convert steem power to steem

great method , everyone loves to get rewards automatically.

Fully appreciate you for sharing this little tidbit with all of us Steemians out there.

Amazing. bravo

nice tool @oflyhigh. Thank you

·

You are welcome.

It's good to know that. I think it's better if I claimed my rewards manually when Steem raise up.

Outstanding work and research. I'm sure the community appreciates your effort as much as I do, thank you, Press On, Stay Strong and Charge the Hill! Upvoted, Followed and Resteemed.

·

Thank you.

nice tool...thanks

Very nice tip thank you

Excellent informations, thanks for such a nice sharing

Nice tool! I will try .
Thanks for posting!

其實為什麼當初steemit設計的時候不乾脆把獎勵設置成自動加入錢包呢? 我想人人都應該希望有獎勵可以即時拿到的

·

之前是自动加钱包的哦,HF18之后改成自己收取。😄

Love me!!!!! :D

Thankyou for sharing @oflyhigh

Excellent! I am noticing that we have so many developers and intellegent people in this platform! I wish we can all get together to do a life project for the poor people of the world. Really amazing!

好多要學習的。多謝O哥,又上了一課。

·

😄 一起学习

i will try it.

Sweet!! All put together in one package . I love it.

good post and seems good work

老哥,既然可以自己填充结构,那是不是批量转账其实也可以这么操作。
execl列表里有3个列,account amount memo. 是不是可以批量导入列表里面的记录,一一进行转账支付呢

·

完全可以
我有一次发奖,就是这么发的

·
·

昨天大伟哥和刘老师还正发愁,人多了发奖麻烦尼。
要不哥写个小白教程,让俺学习学习

·
·
·

其实很简单
回头整理一下

I would like to see this in C++.

very nice

nice one. Let me try it.thanks

nice!!!! amazing tool!!! I have a Programming background before I become entrepreneur and this post brought some memories! :P
Thank you @oflyhigh !!! Upvoted for sure!!

Check also my blog!!! I provide Daily Motivations, Inspirations, and Advices on Life and Business.
I want to do SteemIt Full Time, so any Upvote, Resteem, Following it's a huge help for me!!! And I believe you can find great Value and Content in my Blog! :D

Thanks again for the great post!!! Looking forward readin more of your posts!

Hey! Its nice one every one must try

this seems to be the tools for geeks only. I don't know linux - is there a simpler way to do this in windows.

我還是手动算了哈哈

Very Nice Post; Voted and followed. I want to learn from your experience on steemit. So kindly see my posts and vote me and follow me. As we can see our future posts. Thank you @oflyhigh

Very useful information. Thank you for sharing with us.

An automatic claiming of rewards, This is very coo. I have to try this. Thanks oflyhigh for posting.

thanks our informatiom @oflyhigh

Maja agaya

谢谢分享,先收着。

nice post @oflyhigh . your story awesome

Thanks for sharing!

Thanks for the info! I only have to claim my rewards once every few weeks at the rate I'm going lol.

nice post broo !♥♥

Perfect tool, really recomended!! If you need 👍

nice information

Nice. Cron job? Besides a programmer, who else would not about that?

upvoted

and hoping senpai (whale) will notice me back

😍

this article is worthy and valuable.. it is something that is vert useful and can improve our knowledge about Steemit!
100% upvote for this!!! and followed you @oflyhigh :) thanks much

can you explain it more. its difficult to understand for me.

Wow! This is really great... i would like to give it a shot!
thanks,

@kennyroy

Great news. It will help our community. Upvoted and resteemed. Thanks!!

very cool thx ,aloha from hawaii

Thank you

Really helpful. Will try

Thanks a lot. Great article... I

Nice....that is so helpful i think. Thank you

Great Post Man I'll try it.

Wow...! Great tool thanks for such useful info.

Upvoted and followed.

interesting.

Thanks!

Very practical for the savvy and not so!

Great!

I know Python , but this text looks very hard for me. I must more learn.

我都是想到才去收 XD

·

我都是儲好才去收,不常有收入沒煩惱 > <

·
·

這倒是~

you really make it seem so easy. You have a knack for explaining well. please could you also write a post on how to earn well here on steemit. I am a writer but new to this system