The Python Function to Retrieve the Producer Reward for Witness
- 时间:2020-09-07 13:13:13
- 分类:网络文摘
- 阅读:145 次
As you know, the witness is rewarded for produce a block. The TOP 20 gets to produce the blocks more frequently than the backup witnesses, but the reward for each block is different: currently 484 VESTS for TOP 20 while around 2425 VESTS for others on the steem blockchain.
How do we get the reward given a block number? Unfortunately, it is not through the `get_block` api. Instead, we need to use `get_ops_in_block` which is provided by `account_plugin_history`
1 | curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_ops_in_block", "params":[43880000,true], "id":1}' https://api.steemit.com |
curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_ops_in_block", "params":[43880000,true], "id":1}' https://api.steemit.comThis returns like:
{"jsonrpc":"2.0","result":[{"trx_id":"0000000000000000000000000000000000000000","block":43880000,"trx_in_block":4294967295,"op_in_trx":0,"virtual_op":1,"timestamp":"2020-
06-01T17:49:18","op":["producer_reward",{"producer":"hinomaru-jp","vesting_shares":"481.663694 VESTS"}]}],"id":1}
Then, we can wrap it up in a Python function (please note that we need to scan the transactions array and look for the `producer_reward` ops.
1 2 3 4 5 6 7 8 | def getReward(block): data={"jsonrpc":"2.0", "method":"condenser_api.get_ops_in_block", "params":[block, True], "id":1} result = requests.post(url="https://api.steemit.com", json = data) jsonData = result.json() for tx in jsonData: if tx['op'][0] == 'producer_reward': return tx['op'][1]['vesting_shares'] return None |
def getReward(block):
data={"jsonrpc":"2.0", "method":"condenser_api.get_ops_in_block", "params":[block, True], "id":1}
result = requests.post(url="https://api.steemit.com", json = data)
jsonData = result.json()
for tx in jsonData:
if tx['op'][0] == 'producer_reward':
return tx['op'][1]['vesting_shares']
return None–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:饮食保健:盘点枸杞的十大养生功效 食物为何会致癌及常见致癌物来源 肯德基麦当劳可食用冰块菌落超标 南瓜的保健作用:降血糖血脂、防癌 大暑养生:暑天应多吃清淡易消化食物 市场热俏的功能性饮料到底是什么? 不能把功能性饮料完全代替饮用水 功能性饮料应该如何科学合理的饮用 网传的10种致癌食物中有9种不靠谱 夏季常见水果:西瓜的营养保健价值
- 评论列表
-
- 添加评论