For English version, check the following link:
关于REDEEM REWARDS
大家可能都注意到了,自从0.18版本硬分叉以来,钱包中多了一个选项:
REDEEM REWARDS (TRANSFER TO BALANCE)
这意味着我们需要时不时地手动申请我们的奖励,否则这部分奖励就不会进入到余额中。
对我像我这样的强迫症患者而言,这是无法忍受的事情,
所以我尝试写脚本自动完成这个工作,还好,终于实现啦。
现在分享给大家。
安装Python STEEM 库
首先,安装官方Python STEEM 库
pip install -U steem
(注意: steem-python 要求 Python 3.5 及以上版本)
找出并导入 posting private key
从steemit 账户中找出 posting (private) key
登陆steemit后, 进入 Wallet-> Permissions->POSTING
(点击SHOW PRIVATE KEY
按钮来显示私钥)将私钥导入到本地钱包:
在终端执行以下命令
steempy addkey --unsafe-import-key xxxxxx
( 注意: 将xxxxxx换成你的私钥)为其它账户找出并导入posting private key
如果你想为多个账户申请奖励, 你必须为每个账户账户找出并导入posting private key
重复步骤一和步骤二来完成此项操作
脚本
以下为申请奖励的简单脚本
建议保存为claim_rewards.py
为脚本添加执行权限.
chmod u+x claim_rewards.py
#!/usr/bin/env python
import sys
import datetime
from steem import Steem
node = 'https://steemd.steemit.com'
password = 'yourwalletpasswd'
userlist = {'chinadaily', 'otheruser1', 'otheruser2', 'otheruser3'}
def reclaim(steem, user):
try:
user_info = steem.get_account(user)
reward_sbd = float(user_info['reward_sbd_balance'].split(' ')[0])
reward_steem= float(user_info['reward_steem_balance'].split(' ')[0])
reward_vesting = float(user_info['reward_vesting_balance'].split(' ')[0])
reward_sp = float(user_info['reward_vesting_steem'].split(' ')[0])
if reward_sbd > 0 or reward_steem > 0 or reward_vesting > 0:
steem.claim_reward_balance(account = user)
print("{user} Claim rewards: {0} STEEM {1} SBD {2} STEEM POWER".format(reward_steem, reward_sbd, reward_sp, user = user))
else:
print("No rewards need to be claim")
except:
print("Error occured!")
def main(argv=None):
steem=Steem(node = node)
steem.wallet.unlock(pwd = password)
print(datetime.datetime.now())
for user in userlist:
reclaim(steem, user)
if __name__ == "__main__":
sys.exit(main())
使用命令Claim(redeem) your rewards
配置好正确的钱包密码以及账户列表, 你就可以通过运行指令来申请(赎回)你的奖励啦.
在终端执行./claim_rewards.py
以下是我运行的结果示例
2017-05-12 19:07:30.634529
user1 Claim rewards: 0.0 STEEM 0.0 SBD 0.001 STEEM POWER
user2 Claim rewards: 0.0 STEEM 0.0 SBD 0.024 STEEM POWER
user3 Claim rewards: 0.0 STEEM 0.0 SBD 0.016 STEEM POWER
chinadaily Claim rewards: 0.0 STEEM 0.0 SBD 0.016 STEEM POWER
自动运行脚本
有了以上脚本,自动申请(赎回)你的奖励也是非常简单的啦。
将脚本加入计划任务, 它就会按设置的时间间隔自动执行啦.
启动crontab编辑器:
crontab -e
添加如下内容并保存:
0 0 * * * /path/claim_rewards.py >>log.txt 2>&1
这样脚本就会在每天0时自动执行啦.
如需了解更多的 crontab 细节,运行man crontab
即可
就这些啦,谢谢阅读.
© @chinadaily