简介
本篇我们开始来为后续合约开发做准备了,先来说说EOS内置的系统合约的功能吧,本篇将侧重于合约表数据的查询,这将有利于我们理解EOS的功能,并可以进行必要的数据查询。
- EOS基础全家桶(七)合约表操作
- 简介
- 系统合约介绍
- 查询合约表
- eosio.token
- eosio
- abihash
- userres
- voters
- producers
- refunds
- 其他表
系统合约介绍
系统合约的代码也是开源的,我们可以在https://github.com/EOSIO/eosio.contracts获得。
- eosio.bios
这个合约是EOS很多基本action的基础系统,所以要保证这个合约的有效执行。这个合约可以让你能够直接控制资源分配,并且有权限访问API。在公链上,这个合约将管理已募集和待募集token,以储备带宽给CPU、内存以及网络活动使用。
默认钱包default内部包含一个默认主密钥的账户eosio,默认的智能合约eosio.bios已经可以使用。
- eosio.token
eosio.token合约提供了代币的发行、分发和交易的功能。这是EOS的默认发行合约及合约账户。
- eosio.msig
msig的意思是multi-signature,多重签名的意思。这个合约是可以支持多方对同一笔交易进行异步签名,它是一个对用户友好的支持多方同意的异步进行提案、批复以及最终发布交易的合约。
- eosio.system
用户可以质押和赎回CPU、NET,还可以投票给BP节点或者设置投票代理;节点可以注册为产块节点,以便参与投票来获得挖矿奖励;用户可以购买和卖出内存,也可以参与EOS账号名竞拍;用户还可以操作REX资源的使用。
该合约直接部署到eosio账户。
- eosio.wrap
特殊情况下可以让BP节点调用,可代替另一账户执行交易。
查询合约表
通过cleos查询合约表,需要使用cleos get table [OPTIONS] account scope table
命令,命令有几个必须参数。
account 合约账号,也就是部署了该合约的账号名。 table 表名,这合约里定义,name类型,所以服务账户名一样的命名规则。
scope
表范围,将table划分成多个区域,在写入数据时确定,查询也需按照存入时填写scope查询,类型为uint64。因为很多默认类型都可以转