FISCO BCOS-多服务器部署区块链(2)-群组扩充新服务器新节点

FISCO BCOS-多服务器部署区块链(2)-群组扩充新服务器新节点

本文参考官方链接:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/enterprise_tools/tutorial_detail_operation.html

由于官方技术文档中缺乏对新结构新节点加入已有群组的描述,故整理了这篇文章。

在两节点两机构单群组的区块链上,扩充新机构新节点,组网模式如下图节点组网拓扑图。


节点组网拓扑结构

机器环境,每个节点的IP和端口号如下:

节点IP与端口号

一、证书授权机构初始化机构C

1.进入证书生成机构目录

本次搭链的证书生成机构是阿里云1

cd~/generator

2.初始化机构C

此时generator目录下有链证书及私钥,实际环境中机构C无法获取链证书及私钥(那应该怎么处理呢?抛出问题)。

cp -r ~/generator ~/generator-C

3.生成机构C证书

./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyC

1

4.查看机构证书及私钥

ls dir_agency_ca/agencyC/

2

上图中,从左至右分别为机构证书、机构私钥、链证书

5.发送机构证书、机构私钥、链证书给机构C。

cp ./dir_agency_ca/agencyC/* ~/generator-C/meta/

二、机构C生成节点

1.进入生成机构C目录

cd~/generator-C

2.机构C修改配置文件

cat > ./conf/node_deployment.ini<< EOF

[group]

group_id=1

[node0]

; host ip for the communication among peers.

; Please use your ssh login ip.

p2p_ip=127.0.0.1

; listen ip for the communication between sdk clients.

; This ip is the same as p2p_ip for physical host.

; But for virtual host e.g. vps servers, it is usually different from p2p_ip.

; You can check accessible addresses of your network card.

; Please seehttps://tecadmin.net/check-ip-address-ubuntu-18-04-desktop/

; for more instructions.

rpc_ip=127.0.0.1

channel_ip=0.0.0.0

p2p_listen_port=30302

channel_listen_port=20202

jsonrpc_listen_port=8547

EOF

2.1 查看配置文件内容

vim./conf/node_deployment.ini

3.机构A发送节点连接地址文件及群组1创世区块给机构C

3.1 A机构需要将节点P2P链接地址文件发送至机构C

(因为机构生成节点时需要指定其他节点的节点P2P连接地址)

cd~/generator-A

cp ./agencyA_node_info/peers.txt ~/generator-C/meta/peersA.txt

3.2 分发群组1创世区块至机构C

cp ./group/group.1.genesis ~/generator-C/meta

4.机构C生成并发送节点信息

4.1 进入生成机构C目录

cd~/generator-C

4.2 机构C生成节点证书及P2P连接信息文件

./generator --generate_all_certificates ./agencyC_node_info

3

4.3 机构C发送节点证书给机构A

cp ./agencyC_node_info/cert*.crt ~/generator-A/meta/

4.4 机构C发送P2P连接地址文件给机构A

cp ./agencyC_node_info/peers.txt ~/generator-A/meta/peersC.txt

5.机构C生成所属节点

5.1 进入生成机构C目录

cd~/generator-C

5.2 生成节点C

./generator --build_install_package ./meta/peersA.txt ./nodeC

4

5.3 机构C启动节点

bash ./nodeC/start_all.sh

5

5.4 查看节点进程

ps -ef|grep fisco

6

三、机构C节点加入群组1

1.发送群组1创世区块给机构C

1.1 进入生成机构A目录

cd~/generator-A

1.2 发送群组1创世区块给机构C

./generator --add_group ./group/group.1.genesis ~/generator-C/nodeC

1.3 重启机构C节点

cd~/generator-C

bash ./nodeC/stop_all.sh

bash ./nodeC/start_all.sh

7

四、配置及使用控制台

因为将节点加入已有群组需要用户使用控制台发送指令,将节点加入群组。

1.安装java

sudo apt install -y default-jdk

8

2.下载控制台配置文件

2.1 进入生成机构A目录

cd~/generator-A

2.2 拉取控制台

./generator --download_console ./ --cdn

9

3.查看机构C节点信息

由于机构A使用控制台加入机构C节点4为观察节点,其中参数第二项需要替换为加入节点的nodeid,nodeid在节点文件夹的conf的node.nodeid文件

cat ~/generator-C/nodeC/node_127.0.0.1_30302/conf/node.nodeid

10

4.启动控制台

cd~/generator-A/console&&bash ./start.sh1

11

5.使用控制台将机构C节点注册为观察节点

addObserverf8d449eae86cc17f9f5adeb895e9db68d1bf8aa41511619a690b3897d65dbd97147ccfe000458697e4b361dfb4f27f6f01d7e8d2dcf22c7107998b431c48866f

其中,是3查看出来的机构C节点信息

12

6.使用控制台将机构C节点注册为共识节点

addSealerf8d449eae86cc17f9f5adeb895e9db68d1bf8aa41511619a690b3897d65dbd97147ccfe000458697e4b361dfb4f27f6f01d7e8d2dcf22c7107998b431c48866f

13

7.利用控制台查看共识节点信息

getSealerList

14

8.推送机构C文件夹给阿里云服务器3即可

至此,就完成了新服务器生成新节点并加入已有群组的完整步骤!!

你可能感兴趣的:(FISCO BCOS-多服务器部署区块链(2)-群组扩充新服务器新节点)