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

in #steemdev7 years ago

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)中就行啦。

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

Sort:  
There are 3 pages
Pages

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. 👍

good post and seems good work

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.

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

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

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

Really helpful. Will try

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

谢谢分享,先收着。

Good post and very good information thank you for sharing.

Good job
N
I like it
Plz vote n follow me @mudatnad
Thks.....

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

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

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

其实很简单
回头整理一下

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

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

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.

Excellent informations, thanks for such a nice sharing

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

我都是想到才去收 XD

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

這倒是~

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.

It is a very useful post, thanks for script

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

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

I already have a server!

I can just run thus script in cron!

Thanks for sharing this great tool :)

Keep steem'in hard

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

There are 3 pages
Pages