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