写在前面:第二章中,我们已经用服务器A和服务器B实现了群组1的搭建,本章中,我们要实现服务器A和服务器C实现群组2的搭建,这样就形成了一个三服务器两群组的fisco链。
证书授权机构初始化服务器C
- 下载
在服务器C上下载:
cd ~/ && git clone https://github.com/FISCO-BCOS/generator.git
- 安装:
此操作要求用户具有sudo权限。
cd ~/generator && bash ./scripts/install.sh
检查是否安装成功,若成功,输出 usage: generator xxx
./generator -h
- 获取节点二进制
拉取最新fisco-bcos二进制文件到meta中
./generator --download_fisco ./meta
- 检查二进制版本
若成功,输出 FISCO-BCOS Version : x.x.x-x
./meta/fisco-bcos -v
- 因为只有服务器A生成了初始化链证书,这里需要手动复制服务器A上 generator/ 目录中的 dir_chain_ca,将A中的dir_chain_ca 复制到服务器C上的 generato/目录下。
- 生成服务器C证书:
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyC
- 将 generator/dir_agency_ca/agencyC/目录中的链证书、机构证书、机构私钥复制到 generator/meta/文件中
cp ./dir_agency_ca/agencyC/* ~/generator/meta/
服务器A、C构建群组2
注:以服务器C生成创世区块为例
- 将服务器A中的证书复制到群组2的创世区块(服务器C)的meta里:
- 复制服务器A节点P2P连接地址文件到服务器C
- - 服务器C修改配置文件
手动的方式修改conf文件夹下面node_deployment.ini
p2p_ip地址修改为该服务器对应的外网ip,其中rpc_ip要修改为内网ip。
- 服务器C生成节点信息并复制到服务器A中
机构(服务器)C生成节点信息
./generator --generate_all_certificates ./agencyA_node_info
拷贝到服务器A中
- 服务器C生成群组2创世区块
将服务器C中的generator/conf/conf/group_genesis.ini进行手动修改,配置成如图:
执行命令生成group_genesis.ini 配置的群组创世区块:
./generator --create_group_genesis ./group
分发群组2创世区块至服务器A:
- 机构C生成所属节点
./generator --build_install_package ./meta/peersA.txt ./nodeC
- 启动机构C节点
- 服务器A为现有节点初始化群组2
添加群组2配置文件至已有节点,此步将群组2创世区块group.2.genesis添加至./nodeA下的所有节点内:
./generator --add_group ./meta/group.2.genesis ./nodeA
添加服务器C节点连接文件peers至已有节点,此步将peersC.txt的节点P2P连接地址添加至./nodeA下的所有节点内:
./generator --add_peers ./meta/peersC.txt ./nodeA
- 重启服务器A节点:
- 配置好控制台后,需要修改服务器A控制台配置文件
最后剩下服务器C中的控制台搭建,可以参考第二章最后的服务器A和服务器B的控制台搭建,之后便可部署合约啦。