-
Notifications
You must be signed in to change notification settings - Fork 42
应用链
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方框内
DAPP用户: 使用应用链DAPP的用户
DAPP项目方: 应用链DAPP的开发者。在本文档中,DAPP用户和项目方统称DAPP用户(开发者)
主网挖矿节点: 当前母链上运行的挖矿节点(MOAC-VNODE)
主网代理节点: 母链代理节点,用于提高应用链节点的稳定性(VNODE-PROXY)
应用链挖矿节点: 应用链矿工节点,参与应用链业务逻辑(SCS)
应用链监控节点: 只用于查询应用链业务状态,不参与共识(MONITOR)
智能合约: 当前有这样几种智能合约,本文档只解释与应用链相关的智能合约
系统智能合约
* 主链系统合约
* 应用链合约subchainprotocolbase,用于应用链SCS节点矿工加入矿工池
* 代理智能合约vnodeprotocolbase:用于母链vnode提供代理功能,加入代理池
* 应用链控制合约subchainbase:用于应用链控制逻辑,应用链生成前和生成后的一系列控制逻辑
应用链DAPP智能合约:用于部署应用链业务逻辑的合约
DAPP用户部署应用链时,只需要关注应用链控制合约和应用链DAPP智能合约。
Basics
DAPP Development*
- Move to MOAC
- MOAC Transaction Format
- MOAC JSON-RPC
- Chain3 JavaScript lib
- Chain3 Python lib
- Get Testnet MOAC
DAPP Examples
Information Websites
Connect to MOAC network