每天进步一点点:学习一下提案投票

in #cn4 years ago

昨天看了一眼提案列表,发现#133 我竟然还没投票Airdrop VESTS/HP: non DHF funds held in trust used to repay up-front correction 我竟然还没投,要知道Hive的二次空投修复操作都已经完成了,中文区受影响的小伙伴们都已经收到了空投。

image.png
(图源 :pixabay)

其实,这个提案已经处于激活状态了,我投不投没啥影响,但是总是要表态支持一下才对,于是我登录了命令行钱包,想用命令行钱包投票支持一下这个提案:

update_proposal_votes oflyhigh [133] true true

然而执行上述命令后却被提示:

"error":"missing required active authority:Missing Active Authority oflyhigh"

我想起来了,见证人频道中有人讨论过这个问题,就是说hived v1.24.2版本附带的命令行钱包是有BUG的,需要升级到v1.24.4以后的版本(Fixes related to cli_wallet operating on new Hive chain-id)。

但是我v1.24.2版本跑着还挺好的,那么干脆不用命令行钱包,用我还是开发中的cutehive来实现吧。在这之前,我们要看看update_proposal_votes这个操作做了啥?

在hive开发者网站上,我们很容易就找到了资料,其实就是广播了下边这个operation:

image.png

所以我定义了一个这样的模板:

image.png

然后我们在函数中填充这个模板:

op[1]['voter'] = voter
op[1]['proposal_ids'] = proposal_ids
op[1]['approve'] = approve

追加到transaction中签名并广播就可以了:

trx.append_op(op)
trx.sign_digest(wif)
ret = trx.broadcast()

然后执行执行一下这个函数,可以看到如下签名后的transaction信息:

image.png

成功执行后就可以在https://hiveblocks.com/看到执行成功transaction信息了:

image.png

再去看对应提案的支持者列表,就可以发现我的身影啦。怎么样,其实并不比cli_wallet费劲多少,还捎带学习一下update_proposal_votes操作的细节,一举多得呢。

相关链接

注:本文首发HIVE平台,欢迎大家到HIVE上关注我,并参与讨论。

Coin Marketplace

STEEM 0.19
TRX 0.16
JST 0.031
BTC 81268.43
ETH 3146.04
USDT 1.00
SBD 2.76