系统合约接口说明 v1.2.1

本文是关于目前系统合约接口的详细说明,已经是本人的所有精华了,有些接口没写的,要么是太简单懒得介绍,要么就是我自己也还没搞懂的。文档会不定期更新,有新的东西就会写上去,如果有什么地方写错了的,欢迎联系指正,邮箱、微信公众帐号、电报都可以。

写接口,要钱的那种

delegatebw

用法
参数
说明

账户 blueredy5253 给账户 blueredy5253 抵押了价值0.0000 EOS的网络带宽和价值为10.0000 EOS的CPU资源(非赠与)。详情见这里

如果 from 和 receiver 相同那就是给自己抵押资源

undelegatebw

用法
参数
说明

账户 blueredy5253 从账户 fuckitfuckit 赎回了之前抵押给他的价值0.0000 EOS的网络带宽和价值2.0000 EOS的 CPU 计算资源。详情见这里

buyram & buyrambytes

用法
参数
说明

不带–kbytes参数: 账户 blueredy5253 账户 mburhanuddin 买了价值0.3000 EOS的RAM。如果两账户相同就是给自己买的。详情见这里

带–kbytes参数: 账户 blueredy5253 给账户 fuckitfuckit 买了4096B的RAM。如果两账户相同就是给自己买的。详情见这里

sellram

用法
参数
说明

账户 g4ydomzzhege 卖出了199B的RAM。详情见这里

setcode & setabi

用法
参数
说明

账户 g4ydomzzhege 部署了一个智能合约。详情

regproducer

用法
参数
说明

账户eosauthority注册成为了节点。详情

unregprod

用法
参数
说明

账户eoskunmingbp取消了自己的节点身份。详情

regproxy & unregproxy

用法
参数
说明

账户galaxypirate注册成为代理,isproxy为0就是取消代理身份。详情

voteproducer

用法
参数
说明

参数里的proxy字段值为空的时候,账户eosmesodotio给eosmesodotio投了一票;当proxy有值的时候,账户eosmesodotio将投票权委托给代理proxy了。前者使用的用法里的第一行命令的用法,后者使用的第二行命令的用法。

claimrewards

用法
参数
说明

节点eoschaintech申领了EOS奖励。这个奖励就归owner所有,所以节点可以选择把奖励送给其他账户,一般没人这么做。详情

bidname

用法
参数
说明

账户g4zdgmztgege以0.0001 EOS的价格竞拍pigdog帐号。详情

updateauth & deleteauth

用法
参数
说明

updateauth示例表示账户eos121dacsky创建了一个名为abc权限组,该权限组下面的帐号公钥为EOS6whTX2fYZCEv5quTtm6zrW2m2fe5Si134sJG3yBpcmBTy4d7VM, 详情

deleteauth示例表示账户eos121dacsky删除了abc权限组。详情

linkauth & unlinkauth

用法
参数
说明

linkauth表示账户wangshanshan授权其active1权限组操作合约eosio.token里的transfer接口。说白了就是允许active1权限去操作EOS的转账行为。详情

unlinkauth表示账户wangshanshan解除了之前能操作合约eosio.token里的transfer接口的权限组的授权。也就是说又取消了前面的active1对EOS转账操作的权限。详情

newaccount

用法
参数
说明

账户itokenpocket创建了一个名为themessidona的账户。详情

setramrate

说明

只有系统账户才能操作的接口,用于设置每出一个块增加多少内存。可以通过下面的命令才获取这个值:

返回:

之所以会有last_ram_increase 这个字段,原因来自于这个“内存每出一个块就增加1kb”的实现方式。目前的实现方式是:

每当有人买卖内存的时候,就会计算本次内存买卖距离上一次内存买卖间隔的时间,然后通过这个时间间隔再计算出总共需要增发的内存数。

setparams

说明

只有系统账户才能操作的接口,用于设置全网的一些全局变量。可以通过下面的命令获取这些值:

返回:

rmvproducer

说明

只有系统账户才能操作的接口,用于取消某节点的节点资格,可以用这个来制裁作恶节点……

setpriv

说明

只有系统账户才能操作的接口,给账户设置特权。至于有啥特权,小弟还不清楚。

读接口,免费的

当前版本下所有的http接口都列在这里

下面举例列出部分接口的使用姿势:

主要需要注意的是get_table_rows接口。这里有个小技巧,其实所有的这类请求都可以是如下格式:

比如下面的:

会返回:

我没有加lower_bound的过滤条件,那么就会给我返回被竞标账户按ascii码排序的结果。大家看第一项的newname……诶?md怎么是个空,先忽略,我们先看第二个就是账户1,竞标账户叫tokeneconomy,花了230.0000个EOS。

如果我加上lower_bound也修改limit参数值为5:

会返回5个跟tencent相关的结果:

发表评论

电子邮件地址不会被公开。 必填项已用*标注