功能简介
子链合约定义了用户DAPP所需的子链控制功能和业务逻辑功能。子链控制功能包括:
1、所采用的协议、子链的SCS个数、子链刷新周期、子链每个区块的报酬和每个TX的报酬
2、SCS参与子链的调用过程,以及子链的刷新过程
3、子链的资金控制
子链的业务逻辑定义SCS节点运行的业务流程。这个业务逻辑可以是基于solidity的binary代码,也可以是任意语言的script或者bin代码,只要SCS模块能够执行。
子链的控制功能在底层v-node端以全局合约的方式执行,业务逻辑由上层执行。
墨客提供一个POS 子链的实现,SubchainBase.sol。
功能模块
1. Protocol:指向子链协议合约部署后的地址
2. MinMember/MaxMember,参与这个子链的最低/最高SCS节点数
3. FlushInRound:刷新等待周期
4. Funccode:子链业务逻辑代码
5. NodeList/NodeCount:参与子链的SCS节点/数
6. MatchSelTarget:比较合约地址以确定SCS是否被选中参与子链
7. RegisterAsSCS:SCS 调用此函数来确认自己成为子链的节点
8. RegisterOpen:Dapp部署者设置子链注册开放
9. RegisterClose:Dapp部署者设置子链注册关闭
10. GetEstFlushBlock:获得预计的下次刷新的等待区块数
11. CreateProposal:SCS调用此函数来创建一个新的刷新请求
12. DisputeProposal:SCS调用此函数来创建一个反驳的刷新请求
13. VoteOnProposal:SCS调用此函数来投票支持哪个刷新请求
14. CheckProposalStatus:查询当前proposal状态
15. RequestProposalAction:SCS调用此函数来执行刷新
16. AddFund/WithDraw:Dapp部署者增加/减少可用资金
发表评论