阅读更多
eos/constracts/
系统合约层
1.eosio.bios:该合约用于启动EOS的P2P网络.该合约可以直接控制其他账户的资源分配并访问其他特权API调用.
a.要启动P2P网络,首先,初始启动节点部署该合约,并设置所需的参数;
b.然后,待连接节点通过初始启动节点的地址与之连接;
c.最后,初始启动节点调用bios合约,为待连接节点设置权限
2.eosio.msig:定义了多签系统合约,实现了一个多签功能.由于EOS要求系统的每一次更新都需要出场节点完成一次多签,当签名数达到比超级节点的2/3多1个时更新才能生效,所以出场节点可以调用这个合约实现多签功能
3.eosio.sudo:合约实现了创建EOS系统中root账户的功能,用于修改系统代码和更新合约.
4.eosio.system:可以算是EOS系统合约中最重要的部分,实现了EOS项目的所有基本功能,如创建新账户,部署智能合约,交易RAM,抵押获取资源(NET,CPU),投票和获取节点奖励等.
5.eosio.token:实现了发行token功能,可以说EOS本身代币或后续基于EOS的代币都是通过该合约发行的,主体函数包括发行新代币,初始分发,转账,查询余额.
依赖库层
1.asserter:定义了assert的相关结构体,并完成对智能合约事件的分发
2.bancor:定义了bancor结构体,包含与凯恩斯国际货币单位相关的内容,主要是货币单位之间的转换
3.eosiolib:包含EOS运行所依赖的库的头文件
4.musl:Linux操作系统下的一个标准库
5.noop:实现一个空的智能合约
6.proxy:实现代理的相关内容
测试与示例层:给出一些有趣的示例合约和测试文件供用户理解原理与测试功能
1.dice:掷骰子对赌合约
2.bancor:bancor算法调用入口文件
3.exchange:去中心化交易所合约
4.hello:helloworld合约
5.social:类似Steem的社交平台合约(只包含基本功能)
6.test_前缀:一些测试文件