典型示例

为了保证机构的密钥安全,企业级部署工具提供了一种机构间相互合作的的搭链方式。本节以部署6节点3机构2群组的组网模式,演示企业间如何相互配合,搭建区块链。

节点组网拓扑结构

一个如图所示的6节点3机构2群组的组网模式。机构B和机构C分别位于群组1和群组2中。机构A同属于群组1和群组2中。

../../_images/tutorial_step_2.png

机器环境

每个节点的IP,端口号为如下:

机构节点所属群组P2P地址RPC/channel监听地址
机构A节点0群组1、2127.0.0.1:30300127.0.0.1:8545/:20200
节点1群组1、2127.0.0.1:30301127.0.0.1:8546/:20201
机构B节点2群组1127.0.0.1:30302127.0.0.1:8547/:20202
节点3群组127.0.0.1:30303127.0.0.1:8548/:20203
机构C节点4群组2127.0.0.1:30304127.0.0.1:8549/:20204
节点5群组2127.0.0.1:30305127.0.0.1:8550/:20205

重要

针对云服务器中的vps服务器,RPC监听地址需要写网卡中的真实地址(如内网地址或127.0.0.1),可能与用户登录的ssh服务器不一致。

涉及机构

搭链操作涉及多个机构的合作,包括:

  • 证书颁发机构
  • 搭建节点的机构(简称“机构”)

关键流程

本流程简要的给出证书颁发机构节点机构间如何相互配合搭建区块链。

一、初始化链证书

  • 证书颁发机构操作:
    • 生成链证书

二、生成群组1

  • 证书颁发机构操作:颁发机构证书
    • 生成机构证书
    • 发送证书
  • 机构间独立操作
    • 修改配置文件node_deployment.ini
    • 生成节点证书及节点P2P端口地址文件
  • 选取其中一个机构为群组生成创世块
    • 收集群组内所有节点证书
    • 修改配置文件group_genesis.ini
    • 为群组生成创世块文件
    • 分发创世块文件
  • 机构间独立操作:生成节点
    • 收集群组其他节点的P2P端口地址文件
    • 生成节点
    • 启动节点

三、初始化新机构

  • 证书颁发机构操作:颁发新机构证书
    • 生成机构证书
    • 发送证书

四、生成群组2

  • 新机构独立操作
    • 修改配置文件node_deployment.ini
    • 生成节点证书及节点P2P端口地址文件
  • 选取其中一个机构为群组生成创世块
    • 收集群组内所有节点证书
    • 修改配置文件group_genesis.ini
    • 为群组生成创世块文件
    • 分发创世块文件
  • 新机构独立操作:生成节点
    • 收集群组其他节点的P2P端口地址文件
    • 生成节点
    • 启动节点
  • 已有机构操作:配置新群组
    • 收集群组其他节点的P2P端口地址文件
    • 配置新群组与新增节点的P2P端口地址
    • 重启节点

五、现有节点加入群组1

  • 群组1原有机构操作:
    • 发送群组1创世区块至现有节点
    • 配置控制台
    • 获取加入节点nodeid
    • 使用控制台将节点加入群组1