大概四个月之前,学习了一下HIVE治理票中Delayed Votes(延迟投票)的相关内容,当时就有一个想法,在我的见证人列表工具中加上Delay Votes查询,让计算更为精准。
<p dir="auto"><img src="https://images.hive.blog/DQmTqegF1ThhsCkyGA1cTZgqoYmytKo3iuR4pKXMNaZJose/image.png" alt="image.png" /><br /> (图源 :<a href="https://pixabay.com/vectors/rocket-science-spaceship-space-3122690/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">pixabay) <p dir="auto">就像我很多想法都是拖呀拖一样,这个想法也一样,我总是能找到各种借口拖延,今天一早终于下定决心,一定要搞定这个功能。 <p dir="auto">首先,复习了一下Delayed Votes的内容,在HIVE上记一记笔记就是好,记过的内容翻看一下笔记就可以了。 <blockquote> <p dir="auto"><a href="https://hive.blog/hive-105017/@oflyhigh/delayed-votes">每天进步一点点:给我的投票哪去了?(Delayed Votes) <p dir="auto">不过上边这篇笔记虽然写清楚了Delayed Votes的前世今生(来龙去脉),也指出了一个账户的治理票,应该是<strong><em>本身股权+别人代理的股权-延迟投票,但是并没有介绍如何查询Delayed Votes。 <p dir="auto">好在查询Delayed Votes其实并不麻烦,以我的账户为例,在区块链浏览器中会查询到如下Delayed Votes信息:<br /> <img src="https://images.hive.blog/DQmcf7B7ru51dwKi261agonZ6K1rLxPFAJ3zkWcw9G14h9x/1722929130905.png" alt="1722929130905.png" /> <p dir="auto">那么问题来了,要在cutehive的网页中查询上述内容,我们需要用编程的方式获取上述数据(肯定不能去抓网页呀,哈哈),那么又如何用编程方式实现呢? <p dir="auto">通过查询开发文档可知,Delayed Votes会在<code>condenser_api.get_accounts或者<code>database_api.find_accounts两个API调用中返回。 <p dir="auto">以我账户为例,使用API调用返回如下: <p dir="auto"><img src="https://images.hive.blog/DQmNhWg6qynrAJbqZmjZQ7Tw11CtDVp1uZkXy5hx7Mr15V3/image.png" alt="image.png" /> <p dir="auto">这样,我们就可以在程序中获取Delayed Votes数据啦。我们注意到Delayed Votes可能包含N条元素,对于cutehive见证人列表这个功能而言,我们仅需知晓总的Delayed Vote数据即可,亦即上述N条数据中<code>val值的和。 <p dir="auto">在PHP中,我们可以使用<code>foreach来处理上述数据并求和,为了便于理解和阅读,以M Vest形式表示,比如我的账户: <p dir="auto"><img src="https://images.hive.blog/DQmWEzeQJ7dsnt9Mq3AqkuYKAYBd2u4kzufrfhju3KoWFyk/1722933055348.png" alt="1722933055348.png" /> <p dir="auto">而Total VESTS计算公式为:<code>用户自己的VESTS - Delayed votes + Proxied VESTS 亦即<strong><em>本身股权 - 延迟投票 + 别人代理的(治理)股权。(请注意Proxy与Delegate的区别) <p dir="auto">小伙伴们可能有个疑问,如果用户A 从零开始,Power UP了100W HP,然后将治理权代理给用户B,那么用户B的治理票权是多少呢? <p dir="auto">我觉得答案是用户A的Delayed Voted 为100W HP(就先不换算成VESTs啦),然后虽然把治理权代理出去,但是用户B目前收到的代理权应该为零,只有Delayed Votes到期,用户B才会增加100W HP的治理权哦。(仅供参考,感兴趣的小伙伴可以去验证一下) <p dir="auto">好了,现在<a href="https://www.cutehive.com/witnesses.php" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">我的见证人列表工具就更加完善了,快来看看你的Delayed Votes数据吧。 <p dir="auto"><img src="https://images.hive.blog/DQmTgWvEdKoVnoE7ZR9Cz6fJ8i3fWTaMepynj5QecUPgYTU/vote-1804596_960_720.jpg" alt="vote-1804596_960_720.jpg" /> <p dir="auto">最后欢迎大家将我设置为你的见证人代理: <blockquote> <p dir="auto">欢迎<strong><em><a href="https://hivesigner.com/sign/account-witness-proxy?proxy=oflyhigh&approve=1" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">设置@oflyhigh 成为你的见证人代理!非常感谢! <p dir="auto"><span>如果你不习惯使用hivesigner,也可以访问:<a href="https://wallet.hive.blog/~witnesses" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://wallet.hive.blog/~witnesses 将页面拖拽到最底部,然后使用SET PROXY将我设置为你的见证人&提案投票代理人哦。 <p dir="auto"><img src="https://images.hive.blog/DQmTtNvavSkw9dj3z4TPyneJ6gorWgRKENc3A2sELKP48vo/1722259479914.png" alt="1722259479914.png" /><br /> (图源 :<a href="https://pixabay.com/photos/vote-word-letters-scrabble-1804596/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">pixabay) <p dir="auto">快快行动起来吧。 <h1>相关链接 <ul> <li><span><a href="https://www.cutehive.com/witnesses.php" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://www.cutehive.com/witnesses.php <li><a href="https://hive.blog/hive-105017/@oflyhigh/delayed-votes">每天进步一点点:给我的投票哪去了?(Delayed Votes) <li><span><a href="https://developers.hive.io/apidefinitions/#condenser_api.get_accounts" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://developers.hive.io/apidefinitions/#condenser_api.get_accounts <li><span><a href="https://developers.hive.io/apidefinitions/#database_api.find_accounts" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://developers.hive.io/apidefinitions/#database_api.find_accounts
感谢O哥的分享,这投票是一年一次吧,时间到了可以提醒一下,我们继续投票。
棒棒哒O哥!辛苦啦!
@tipu curate 2
Upvoted 👌 (Mana: 17/57) Liquid rewards.