Skip to content

应用链

mdranger edited this page Aug 5, 2019 · 1 revision

应用链是MOAC区块链中非常重要的一个模块。其主要目的在于分流母链中的业务逻辑,把一些比较繁琐的业务操作放在应用链中执行。

应用链本身是以智能合约的方式部署到MOAC母链上,其共识方式、节点组成和业务逻辑都在智能合约中定义。

  • 应用链节点控制合约microchainprotocolbase,用于定义SCS节点共识方式和如何包括SCS节点矿工加入应用链;
  • 应用链逻辑控制合约microchainbase:用于应用链控制逻辑,应用链生成前和生成后的一系列控制逻辑;
  • 应用链DAPP智能合约:用于部署应用链业务逻辑的合约,每个应用链只能部署一个DAPP合约;

应用链的验证过程由合约节点SCS完成,SCS节点随机组合,支持动态增减。

应用链支持分片,每个分片都能独立完成业务逻辑。

同时,在主链上,我们增加了代理的Vnode节点来保证应用链的稳定性,这部分我们会在最后介绍。

当前,按功能分,有如下几种SCS节点类型:

  • 参与业务逻辑的SCS
  • 用于业务监控的SCS
  • 准备参与业务逻辑的SCS

下图为MOAC系统的示意图,应用链在subchain1方框内 moac_subchian

主要名词解释:

DAPP用户: 使用应用链DAPP的用户

DAPP项目方: 应用链DAPP的开发者。在本文档中,DAPP用户和项目方统称DAPP用户(开发者)

主网挖矿节点: 当前母链上运行的挖矿节点(MOAC-VNODE)

主网代理节点: 母链代理节点,用于提高应用链节点的稳定性(VNODE-PROXY)

应用链挖矿节点: 应用链矿工节点,参与应用链业务逻辑(SCS)

应用链监控节点: 只用于查询应用链业务状态,不参与共识(MONITOR)

智能合约: 当前有这样几种智能合约,本文档只解释与应用链相关的智能合约

系统智能合约
    * 主链系统合约
    * 应用链合约subchainprotocolbase,用于应用链SCS节点矿工加入矿工池
    * 代理智能合约vnodeprotocolbase:用于母链vnode提供代理功能,加入代理池
    * 应用链控制合约subchainbase:用于应用链控制逻辑,应用链生成前和生成后的一系列控制逻辑
应用链DAPP智能合约:用于部署应用链业务逻辑的合约

DAPP用户部署应用链时,只需要关注应用链控制合约和应用链DAPP智能合约。

应用链的基本设计原理

部署应用链协议合约

部署应用链合约

选择scs节点

应用链创建过程

应用链运行流程

应用链刷新过程

应用链的部署和运行

应用链用户类别

应用链SCS矿工指南

应用链DAPP开发者指南

应用链VNODE代理指南

Clone this wiki locally