「此文转载自oflyhigh,原文请点击RC系统解密

在之前的文章RC系统解密之最大MANA(max_mana) / 如何提升,我们知道了max_mana的计算规则。

max_mana的计算规则如下:

用户vests - 代理出去的vests + 收到代理的vests + 注册费vests + 下次power down vests


(图源 :pexels.com)

对于其它几项内容,我们可以通过API读取用户信息获得,但是注册费对应VEST_SHARES却一个历史数据,也就是说在用户注册账户当时是可以通过注册费(STEEM)以及当时的STEEM与VEST_SHARES比例计算出来的。

很显然,除非REPLAY整个STEEM区块链,否则我们没法确定某个账户注册当时的注册费价格以及STEEM与VEST_SHARES的换算关系。那么,我们该如何拿到这个注册费vests这个计算max_mana的关键因素之一呢?

好消息是STEEM区块链帮我们想到了这一点,它在注册账户这一操作之后,直接注册了一个对应的:rc account 亦即create_rc_account,并将对应的内容保存至rca.max_rc_creation_adjustment

所以,我们不用操心如何计算rca.max_rc_creation_adjustment了,只需读取即可。

那么如何读取呢?其实也很简单,只需调用RC API读取对应的账户即可,以我的账户为例,调用方法如下:

{"jsonrpc": "2.0", "method": "rc_api.find_rc_accounts", "params": {"accounts": ["oflyhigh"]}, "id": 1}

返回内容为:

其中max_rc_creation_adjustment的数值为:12518977945,精度为6,对比一下steemd.com上查询的结果:

可见二者是一样一样的,至此我们已经获得了计算max_mana的所有因素。等等,RC APIfind_rc_accounts都返回了什么?其中竟然包括了max_rc(就是max_mana啦),那我们还为什么要费劲周折的计算呢?


(图源 :pexels.com)

答案是确实不需要计算,但是知道它来龙去脉有助于我们理解这个系统,不是嘛!