名词解释

基础链 (baseChain, motherchain)

也称为母链,是使用工作量证明(POW)共识的一条公链,可以支持多条应用链。有多个Vnode节点组成。每个母链需要有一个chainId,需要在启动VNODE时作为输入参数,以便VNODE接入相应的母链。MOAC的主网chainId为99,测试网为101。

Vnode

MOAC母链节点软件,用于构建母链(又称基础链)和连接应用链,可以进行POW挖矿,账本同步,交易以及应用链数据传输的节点。在启动VNODE时,需要指定接入区块链的编号chainId,默认值为主网99。

应用链 (appChain,subchain, microchain)

也称为子链,是构建在MOAC基础链之上,用于独立运行一个或者多个智能合约的区块链。每个应用链有自己独立的应用链地址。

SCS

MOAC应用链节点软件,用于应用链挖矿,应用链账本同步以及应用链业务逻辑执行的节点,也称为应用链矿工。目前MOAC有两种SCS,分别对应两种类型的应用链:ProcWind和FileStorm。

应用链矿工池 (SCS pool)

存储应用链矿工的池子,本质上是一个智能合约。SCS节点需要注册才能加入应用链的验证。当应用链产生之后,会注册到一个SCS pool里面,并随机抽取符合条件的SCS加入应用链进行验证。

母链节点代理池(Vnode pool)

存储vnode代理节点的池子,本质上池子是一个智能合约,应用链节点注册后,需要vnode节点。

应用链控制合约

用于控制整个应用链的流程,文件名一般为DappBase.sol

监听节点(Monitor)

监听节点是一个特殊的SCS节点,可以用来监听某条应用链的运行情况,当一个节点成为监听节点后,其只负责同步该应用链的区块信息,不参与应用链出块。Dapp用户可以通过该节点监控应用链运行情况

刷新(flush)

应用链的一个特殊操作,每条正常运行的应用链每隔一段时间需要向母链进行状态刷新,并且同时完成:Scs矿工的收益发放;有币应用链和母链之间的货币充提等操作。flush周期可在部署应用链控制合约时设置,当应用链交易数不活跃时,flush周期将变大,直到有交易时收敛到设置值;刷新的发起者为应用链中随机选择的一个SCS验证节点。

应用链部署者的地址(Owner account)

部署应用链时需要消耗母链的原生moac,提供这些moac的帐号即成为应用链部署者。目前ProcWind SCS 节点有两种合约部署方式,默认只有应用链部署者可以在应用链上发布合约,也可以调整为所有的帐号都可以发布合约。

应用链合约余额 (AppChain Balance)

应用链帐号的moac余额,由三个部分组成,应用链节点押金,应用链原生货币兑换押金,应用链可用运行押金。其中,SCS节点押金为SCS加入时缴纳,当SCS的网络行为发生异常时,应用链会扣取此SCS的部分押金,为0时,应用链会移除SCS节点;应用链原生货币兑换押金仅在应用链为ASM或者AST的情况下使用;

应用链节点押金(BondLimit)

当SCS在SCS pool中,被应用链选中时,需要缴纳押金才能为应用链进行验证。这部分押金会被存储在应用链帐号里面,当SCS节点的服务不能满足要求时,相应SCS的押金会被扣除。当一个SCS节点的押金在应用链里面为0时,不能参与应用链共识的过程。

应用链节点押金(BondLimit)

当SCS在SCS pool中,被应用链选中时,需要缴纳押金才能为应用链进行验证。这部分押金会被存储在应用链帐号里面,当SCS节点的服务不能满足要求时,相应SCS的押金会被扣除。当一个SCS节点的押金在应用链里面为0时,不能参与应用链共识的过程。

应用链维护费用(Cost of AppChain)

应用链的维护费用包括矿工费用、向母链flush状态的费用,以及母链充提gas返还费用三部分。这个维护消耗可以通过调整应用链的flush周期来部分改变。

接入奖励(Via Reward)

应用链给予VNODE连接节点的奖励。

区块奖励(Block reward)

应用链给予每个区块的收益。

交易奖励(Tx reward)

为了鼓励SCS对更多的交易进行验证,应用链对每个打包的交易都提供了奖励。scs出空块和scs打包10个交易的块,奖励是不一样的。

应用链多合约版本

nuwa 1.0.8版本后的新功能,用于在应用链上部署多合约的基础控制合约。