您现在的位置是:首页 > 编程 > 

fiscoBcos运维工具多机搭链

2025-07-23 04:23:41
fiscoBcos运维工具多机搭链 多机搭链使用generator搭建多机部署的Fisco链以下是我们要做的实践我们将从多机两节点部署开始,机构A和机构B,为机构A节点1做落盘加密为机构A新增节点并加入组1新增机构C节点4新增组2并将机构B和机构C拉入组2img1首先我们要准备两台虚拟机imgimage-为这两台机建立免密连接登录一号机4.17

fiscoBcos运维工具多机搭链

多机搭链

使用generator搭建多机部署的Fisco链

以下是我们要做的实践

我们将从多机两节点部署开始,机构A和机构B,为机构A节点1做落盘加密

为机构A新增节点并加入组1

新增机构C节点4

新增组2并将机构B和机构C拉入组2

img

1首先我们要准备两台虚拟机

img
image-202412261719848

2为这两台机建立免密连接

登录一号机4.17.0.66

在任意位置下

输入命令:

-keygen -t rsa -m PEM

在root目录下的.目录下会生成连接的私钥和公钥

img

将公钥id_rsa.pub放入到二号机的/root/.目录下的authorized_keys下面

image-20241226172022680
img

配置好后进行连接检测免密连接是否成功输入命令:

-o StrictHostKeyChecking=no root@[IP]

img

下载并安装企业级部署generator工具

我这里存放的generator工具是存放路径在/root/g下面,可以自己选择要存放链工具的地址,我接下来的操作都在/root/g目录下进行。

下载工具的源代码

git clone .git

image-2024122617221811

进入generator目录进行下载操作

输入命令:

bash scripts/install.sh

img
img

查看是否安装成功

在generator目录下输入命令

./generator -h

若成功,输出usage:generator XXX

img

4获取节点二进制,拉取最新的fisco-bcos二进制文件到meta中

进入到新建的generator文件目录内

在generator目录下进行以下操作.

输入命令:

/generator --download_fisco ./meta

img

查看fisco版本:

./meta/fisco-bcos -v

img

5机构初始化

按照效果图,我们需要机构A,机构B,机构C,将其初始化,拷贝出来

在generator目录下进行以下操作.

输入命令:

cp -r generator/ generator-A

这里我多复制了一个D作为备份,为以后需要做更改做准备

img

6链证书初始化

一条链只能有一条唯一的链证书,我们选择在generator文件夹生成链证书,

在generator目录下进行以下操作.

输入以下命令:

./generator --generate_chain_certificate ./dir_chain_ca

img

检查dir_chain_ca文件夹是否存在链证书和私钥:

ls dir_chain_ca/

img

7机构证书初始化

在generator文件夹下生成各个机构的证书,然后复制到各个机构的工作目录中

机构A:

./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyA

img

机构B:

./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyB

img

机构C:

./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agency

img

查看生成目录 :

ls dir_agency_ca/

img

拷贝生成出来的机构证书,机构私钥,链证书到各自的机构目录下的meta文件中:

img

使用工具生成机构A的SDK证书

./generator --generate_sdk_certificate ./dir_sdk_caA ./dir_agency_ca/agencyA

img

使用工具生成机构B的SDK证书

./generator --generate_sdk_certificate ./dir_sdk_caB ./dir_agency_ca/agencyB

img

使用工具生成机构C的SDK证书

./generator --generate_sdk_certificate ./dir_sdk_caC ./dir_agency_ca/agencyC

img

8生成组1的两个节点(机构A,机构B)

修改机构A节点的配置文件

当前操作目录为/root/g/generator-A

vim conf/node_deployment.ini

_ip的地址要设置成自己主机的ip地址

机构

节点

所属组

P2P地址

RPC监听地址

Channel监听地址

ip地址

机构A

节点0

组1

060

20260

8575

10.206.0.1

img

修改机构B节点的配置文件

文件位于generator-B的conf/node_deployment.ini

vim conf/node_deployment.ini

机构

节点

所属组

P2P地址

RPC监听地址

Channel监听地址

ip地址

机构B

节点1

组1

061

20261

8576

10.206.0.14

img

回到generator-A文件目录下:

cd …/generator-A

执行:

./generator --generate_all_certificates ./agencyA_node_info

这条命令会根据我们配置的节点信息生成机构A的节点证书和连接信息文件

img

检查agencyA_node_info是否存在刚刚生成的证书文件和连接信息:

ls agencyA_node_info

img

将机构A的文件拷贝给机构B并改名为

cp agencyA_node_info/ …/generator-B/meta/

img

去到机构B文件夹进行操作:

cd …/generator-B

执行:

./generator --generate_all_certificates ./agencyB_node_info

这条命令会根据我们配置的节点信息生成机构B的节点证书和连接信息文件

img

由于组创建需要创世区块,规定此机构必须要节点证书,我们选择在机构A中进行创建,所以机构B除了复制文件外,还需要复制机构B的两个节点crt文件给机构A

cp -r agencyB_node_info/ …/generator-A/meta/

img

cp -r agencyB_node_info/cert_10.206.0.14_ …/generator-A/meta/

img

回到机构A文件夹:cd …/generator-A

修改conf/group_genesis.ini文件

vim conf/group_genesis.ini

img

结合两个节点证书文件,生成创世区块 :

./generator –create_group_genesis ./group

img

查看生成创世组区块和组配置文件:

ls group

img

将group.1.genesis文件拷贝到机构B

cp group/group.1.genesis …/generator-B/meta/

img

使用–build_install_package生成机构A的节点,第一个实参是放组内其它节点的连接信息,第二个是节点文件的输出目录

./generator --build_install_package ./meta/ ./nodeA

img

回到机构B:

cd …/generator-B

使用–build_install_package生成机构B的节点,第一个实参是放组内其它节点的连接信息,第二个是节点文件的输出目录

./generator --build_install_package ./meta/ ./nodeB

img

打包机构B并放入到二号机内

打包:

tar cvf generator-B

img

在二号机进行解压:

tar xvf

(我这里是用可视化工具手动传输,放到自己想要放到的文件夹内进行解压操作)我这里的地址是在/root/g

img

9使用落盘加密,加密机构A的节点nodeA

(要加密那个节点就修改那个节点的配置文件,我这里只是做一个示范,后面的操作都是一样的)

我这里使用的centos的系统,如果用别的操作系统请去这里查看对应的下载依赖指令

FISCO-BCOS/key-manager: Key manager for FISCO BCOS

下面的操作我都在/root/g下面进行

下载依赖包:

sudo yum install procps-ng-devel

img

sudo yum install curl-devel

img

安装cmake :

sudo yum install -y cmake

img

拉取工具包并进行构建

git clone .git

img

去到key-manager并创建build文件夹并去到build文件夹内

cd key-manager && mkdir build && cd build

img

使用cmake进行构建系统文件

cmake …

如果大家这里编译不了,去看错误日志,提示缺少什么配置就下载什么配置

img

使用make进行编译构建

make

img
img

启动key-manager服务:

./key-manager 8150 12xyz

这里还有一个命令就是

nohup ./key-manager 8150 12xyz > 2>&1 &

如果使用nohup命令就之间将服务挂载到后台了,就可以关闭当前终端

img

不要关闭当前的终端,我们在去开一个新的终端,进入到/root/g/key-manager的scripts文件夹中

运行以下命令:

bash gen_data_secure_key.sh 127.0.0.1 8150 mima1

最后面的参数为自己要设定的密码

img

配置dataKey(ps:配置datakey的节点,必须是新生成的,未启动过的节点)要加密那个节点就修改那个节点的config.ini文件

切换回到generator-A文件中,进入到节点目录下:

cd nodeA/node_10.206.0.1_060

img

修改config.ini文件 vim config.ini

到以下配置,并将前面key-manager生成的datekey填入

img

切换回key-manager/scripts文件夹,启动脚本对需要加密的节点密钥进行加密

bash encrypt_node_key.sh 127.0.0.1 8150 /root/g/generator-A/nodeA/node_10.206.0.1_060/conf/node.key 1100966220cc567b44c15e946aef7c08

后面的密钥为前面工具生成的datekey

img

至此机构A中的节点node_10.206.0.1_060已经完成了落盘加密

10启动节点,查看共识

切换到/root/g/generator-A文件夹中,进入到nodeA目录下面 cd nodeA

启动节点:

bash start_all.sh

img

在二号机内切换到/root/g/generator-B夹中,进入到nodeB目录下面 cd nodeB

启动节点:

bash start_all.sh

img

检测节点的共识情况,在/root/g/generator-B/nodeB目录下执行以下命令:

tail -f node_10.206.0.14_061/log/log_202412014.07.log | grep +++

img

切换到一号机检测节点共识,在/root/g/generator-A/nodeA目录下执行以下命令:

tail -f node_10.206.0.1_060/log/log_20241201* | grep +++

img

至此双机单组多机构的区块链网络已经搭建成功,并且机构A节点node_10.206.0.1_060进行了落盘加密

11机构A扩容节点并加入组1

在上面的操作中,机构A生成了属于自己的机构证书和私钥,并且拥有了组1的创世区块,扩容节点需求进行以下操作

在一号机/root/g目录下

进入到generator-A的目录下,修改conf/node_deployment.ini配置文件

vim conf/node_deployment.ini

机构

节点

所属组

P2P地址

RPC监听地址

Channel监听地址

ip地址

机构A

节点2

组1

062

20262

8577

10.206.0.1

img

使用命令生成节点证书和连接信息文件

./generator --generate_all_certificates ./agencyA_node_info_new

img

查看生成文件:

ls ./agencyA_node_info_new

img

合并当前节点的文件

因为生成节点的时候要指定节点连接信息为组内其它节点的连接信息,多个机构组网的情况下需要将其合并,所以新增的这个节点要将他们的连接信息都拿到。

cat ./agencyA_node_info/ >> ./meta/

img
img

生成新增节点:

./generator --build_install_package ./meta/ ./nodeA_new

img

查看生成节点配置文件夹:

ls ./nodeA_new

img

查看新增节点

cat nodeA_new/node_10.206.0.1_062/conf/

img

启动新增的节点:

bash nodeA_new/start_all.sh

img

查看节点进程:

ps -ef | grep fisco

img

使用控制台将新增节点加入组1内,这里我使用了手动配置控制台

下载控制台(我这里将控制台放入到了/root/g/generator-A里面):

curl -#LO [.9.2/download_cole.sh && bash download_cole.sh](.9.2/download_cole.sh && bash download_cole.sh)

下载完成后,要将节点的sdk目录下的sdk.key文件拷贝到conf目录下,将conf目录下的文件重命名为文件。

进入cole文件夹下:

cd cole

前面已经在generator生成了机构的sdk证书,拷贝证书到conf目录下

cp …/…/generator/dir_sdk_caA/sdk/ conf

img

cp …/…/generator/dir_sdk_caA/sdk/sdk.* conf

img

进入到conf目录下:

cd conf

将conf目录下的文件重命名为文件。

cp -r

img

修改配置文件,由于我们的现阶段在组1内,所以我们的控制台只需要将机构A节点1的信息填入,就可以访问组内所有节点信息了。

vim

img

启动控制台:

bash start.sh

img

使用以下命令,将node节点id添加到组1共识中来(节点id已经在上面获取了)

addSealer c7418a92da2b8cd47850a47167754d549a69df77b59490766fec029b6e90442b5b8fedd06802bae2bc90612b01f0e5eeade2b9819dc6c7b709e197

img

使用命令查看是否添加共识成功:

getSealerList

img

退出控制台,查看新增节点是否加入共识

tail -f nodeA_new/node_10.206.0.1_062/log/log_20241201* | grep +++

img

至此我们在已有机构内新增节点,并加入到组的任务已经完成

12 新增机构C并让机构C和机构B组成组2

在这里面,我们将组2创世区块的操作交给机构C

机构

节点

所属组

P2P地址

RPC监听地址

Channel监听地址

ip地址

机构C

节点

组2

06

2026

8578

10.206.0.14

现在还是在一号机内进行操作

进入到/root/g/generator-C目录,修改conf/node_deployment.int文件

vim conf/node_deployment.ini

img

生成机构C的节点证书和连接信息文件

./generator --generate_all_certificates ./agencyC_node_info

img

查看生成文件列表:

ls agencyC_node_info/

img

将拷贝给机构B(注意这里的机构B是在二号机上面的机构B)

PS:我这里进行的拷贝是通过可视化工具直接拖过去的

img

由于是使用机构C生成创世区块,所以需要机构B的和机构B的节点文件(这里因为是只需要配置文件,所以我们在当前一号机内便可以执行拷贝命令)

cp -r …/generator-B/agencyB_node_info/cert_10.206.0.14_ meta/

img

cp -r …/generator-B/agencyB_node_info/ meta/

img

修改机构C中的conf/group_genesis.ini文件:

vim conf/group_genesis.ini

img

生成组2创世区块文件:

./generator --create_group_genesis ./group

img

将生成出来的创世区块拷贝给机构B的meta中(这里要拷贝至二号机的机构B内)

img

生成机构C打包传输到二号机并启动

./generator --build_install_package ./meta/ ./nodeC

img

tar cvf generator-C

img

我这里是用来可视化工具直接传过去了

在二号机/root/g进行解压:

tar xvf

img

进入到加压好的generator-C文件夹下:

cd generator-C

启动节点:

bash nodeC/start_all.sh

img

还是在二号机内进行操作:

cd …/generator-B

进入机构B使用–add_group 第一个参数选择组2的创世块,第二个参数选择需要加入组的节点目录

./generator --add_group ./meta/group.2.genesis ./nodeB

img

使用–add_peers ,添加机构C节点连接文件peers至已有节点

./generator --add_peers ./meta/ ./nodeB

img

重启机构B的节点

bash nodeB/stop_all.sh

bash nodeB/start_all.sh

img

查看机构B节点是否在两个组进行共识

tail -f nodeB/node_10.206.0.14_061/log/log_20241201* | grep +++

img

查看机构C节点是否在组2内共识

回到机构C文件夹中查看:

cd …/generator -C

tail -f nodeC/node_10.206.0.14_06/log/log_202412016.4.log | grep +++

img

至此我们就已经完成了我们所设计的网络拓扑区块链网络结构。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-15,如有侵权请联系 cloudcommunity@tencent 删除加密连接配置运维工具

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1177742.html

相关标签:无
上传时间: 2025-07-21 20:30:39
留言与评论(共有 17 条评论)
本站网友 如何怀孕
26分钟前 发表
进入到节点目录下: cd nodeA/node_10.206.0.1_060 img修改config.ini文件 vim config.ini到以下配置
本站网友 百洛油
4分钟前 发表
第二个是节点文件的输出目录 ./generator --build_install_package ./meta/ ./nodeA img回到机构B: cd …/generator-B 使用–build_install_package生成机构B的节点
本站网友 青山二手房
29分钟前 发表
第一个实参是放组内其它节点的连接信息
本站网友 ts文件播放器
18分钟前 发表
所以新增的这个节点要将他们的连接信息都拿到
本站网友 激光祛斑美白
28分钟前 发表
Key manager for FISCO BCOS 下面的操作我都在/root/g下面进行下载依赖包: sudo yum install procps-ng-devel img sudo yum install curl-devel img安装cmake : sudo yum install -y cmake img拉取工具包并进行构建 git clone .git img去到key-manager并创建build文件夹并去到build文件夹内 cd key-manager && mkdir build && cd build img使用cmake进行构建系统文件 cmake … 如果大家这里编译不了
本站网友 威飒
2分钟前 发表
进入cole文件夹下: cd cole 前面已经在generator生成了机构的sdk证书
本站网友 狂犬病的潜伏期
16分钟前 发表
所以新增的这个节点要将他们的连接信息都拿到
本站网友 黑帽seo培训
14分钟前 发表
tar xvf img进入到加压好的generator-C文件夹下: cd generator-C 启动节点: bash nodeC/start_all.sh img还是在二号机内进行操作: cd …/generator-B 进入机构B使用–add_group 第一个参数选择组2的创世块
本站网友 瓦房店美食
22分钟前 发表
就可以关闭当前终端img不要关闭当前的终端
本站网友 顾江
17分钟前 发表
vim img启动控制台: bash start.sh img使用以下命令
本站网友 曲阳影都
21分钟前 发表
启动脚本对需要加密的节点密钥进行加密 bash encrypt_node_key.sh 127.0.0.1 8150 /root/g/generator-A/nodeA/node_10.206.0.1_060/conf/node.key 1100966220cc567b44c15e946aef7c08 后面的密钥为前面工具生成的datekeyimg至此机构A中的节点node_10.206.0.1_060已经完成了落盘加密10启动节点
本站网友 南宁健身房
17分钟前 发表
本文参与 腾讯云自媒体同步曝光计划
本站网友 百炼成妖
23分钟前 发表
为机构A节点1做落盘加密为机构A新增节点并加入组1新增机构C节点4新增组2并将机构B和机构C拉入组2img1首先我们要准备两台虚拟机imgimage-2024122617198482为这两台机建立免密连接登录一号机4.17.0.66在任意位置下输入命令: -keygen -t rsa -m PEM 在root目录下的.目录下会生成连接的私钥和公钥img将公钥id_rsa.pub放入到二号机的/root/.目录下的authorized_keys下面image-20241226172022680img配置好后进行连接检测免密连接是否成功输入命令: -o StrictHostKeyChecking=no root@[IP] img下载并安装企业级部署generator工具我这里存放的generator工具是存放路径在/root/g下面
本站网友 乱码翻译器
14分钟前 发表
还需要复制机构B的两个节点crt文件给机构A cp -r agencyB_node_info/ …/generator-A/meta/ img cp -r agencyB_node_info/cert_10.206.0.14_ …/generator-A/meta/ img回到机构A文件夹:cd …/generator-A修改conf/group_genesis.ini文件 vim conf/group_genesis.ini img结合两个节点证书文件
本站网友 威海金海湾国际饭店
0秒前 发表
第一个实参是放组内其它节点的连接信息
本站网友 腋毛的作用
21分钟前 发表
如有侵权请联系 cloudcommunity@tencent 删除前往查看加密连接配置运维工具