fiscoBcos运维部署工具单机搭链
fiscoBcos运维部署工具单机搭链
使用运维部署工具搭建多节点多组区块链
在home目录下新建fisco11文件夹并进入到fisco11文件夹下:
mkdir fisco11 && cd fisco11
下载安装
下载:git clone .git
安装:cd ./generator && bash ./scripts/install.sh
检查是否安装成功,若成功,输出 usage: generator xxx
输入以下指令:./generator -h
获取节点二进制
拉取最新fisco-bcos二进制文件到meta中,如果网络较差,可以尝试通过其他方式下载fisco-bcos,或使用–cdn选项,并将下载好的二进制放置于meta文件夹下
./generator --download_fisco ./meta
官方给的下载链接太慢了,我这里是将下载好的二进制文件放入到meta 中
二进制fisco下载地址:.11.0/gz
检查二进制版本
输入以下命令:./meta/fisco-bcos -v
节点组网拓扑结构
一个如图所示的6节点机构2组的组网模式。机构B和机构C分别位于组1和组2中。机构A同属于组1和组2中。
机器环境
每个节点的IP,端口号为如下:
机构 | 节点 | 所属组 | P2P地址 | RPC监听地址 | Channel监听地址 |
---|---|---|---|---|---|
机构A | 节点0 | 组1、2 | 127.0.0.1:000 | 127.0.0.1:8545 | 0.0.0.0:20200 |
节点1 | 组1、2 | 127.0.0.1:001 | 127.0.0.1:8546 | 0.0.0.0:20201 | |
机构B | 节点2 | 组1 | 127.0.0.1:002 | 127.0.0.1:8547 | 0.0.0.0:20202 |
节点 | 组1 | 127.0.0.1:00 | 127.0.0.1:8548 | 0.0.0.0:2020 | |
机构C | 节点4 | 组2 | 127.0.0.1:004 | 127.0.0.1:8549 | 0.0.0.0:20204 |
节点5 | 组2 | 127.0.0.1:005 | 127.0.0.1:8550 | 0.0.0.0:20205 |
注解
- 云主机的公网IP均为虚拟IP,若rpc_ip/_ip/channel_ip填写外网IP,会绑定失败,须填写0.0.0.0
- RPC/P2P/Channel监听端口必须位于1024-6555范围内,且不能与机器上其他应用监听端口冲突
- 出于安全性和易用性考虑,FISCO BCOS v2..0版本最新节点config.ini配置将listen_ip拆分成jsonrpc_listen_ip和channel_listen_ip,但仍保留对listen_ip的解析功能,详细请参考 这里
- 为便于开发和体验,channel_listen_ip参考配置是 0.0.0.0 ,出于安全考虑,请根据实际业务网络情况,修改为安全的监听地址,如:内网IP或特定的外网IP
机构初始化
在/home/fisco11目录下初始化机构A
cp -r ./generator ./generator-A
在/home/fisco11目录下初始化机构B
cp -r ./generator ./generator-B
初始化链证书
在证书颁发机构上进行操作,一条联盟链拥有唯一的链证书
用 --generate_chain_certificate 命令生成链证书
在证书生成机构目录下操作:
cd ./generator
生成链证书文件到dir_chain_ca:
./generator --generate_chain_certificate ./dir_chain_ca
查看链证书和私钥:
ls ./dir_chain_ca
为链证书,ca.key为链私钥
初始化机构A
在/home/fisco11/generator目录下进行操作。
生成机构A证书:
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyA
查看机构证书及私钥:
ls dir_agency_ca/agencyA/
为机构证书、agency.key是机构私钥、为链证书
发送链证书、机构证书、机构私钥至机构A,示例是通过文件拷贝的方式,从证书授权机构将机构证书发送给对应的机构,放到机构的工作目录的meta子目录下
cp ./dir_agency_ca/agencyA/* …/generator-A/meta/
初始化机构B
在home/fisco11/generator目录下操作:
生成机构B证书:
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyB
发送链证书、机构证书、机构私钥至机构B,示例是通过文件拷贝的方式,从证书授权机构将机构证书发送给对应的机构,放到机构的工作目录的meta子目录下
cp ./dir_agency_ca/agencyB/* …/generator-B/meta/
机构A修改配置文件
node_deployment.ini为节点配置文件,运维部署工具会根据node_deployment.ini下的配置生成相关节点证书,及生成节点配置文件夹等。
机构A修改conf文件夹下的node_deployment.ini如下图所示:
在/home/fisco11/generator-A目录下进行操作
vim conf/node_deployment.ini
机构B修改配置文件
在/home/fisco11/generator-B目录下进行操做
vim conf/node_deployment.ini
机构A生成并发送节点信息
在/home/fisco11/generator-A目录下操作
机构A生成节点证书及P2P连接信息文件,此步需要用到上述配置的node_deployment.ini,及机构meta文件夹下的机构证书与私钥,机构A生成节点证书及P2P连接信息文件
./generator --generate_all_certificates ./agencyA_node_info
查看生成文件:
ls ./agencyA_node_info
cert_127.0.0.1_ cert_127.0.0.1_需要交互给机构A的节点证书 为节点P2P连接地址文件
机构生成节点时需要指定其他节点的节点P2P连接地址,因此,A机构需将节点P2P连接地址文件发送至机构B
cp ./agencyA_node_info/ …/generator-B/meta/
机构B生成并发送节点信息
在/home/fisco11/generator-B目录下进行操作
机构B生成节点证书及P2P连接信息文件:
./generator --generate_all_certificates ./agencyB_node_info
生成创世区块的机构需要节点证书,示例中由A机构生成创世区块,因此B机构除了发送节点P2P连接地址文件外,还需发送节点证书至机构A
发送证书:
cp ./agencyB_node_info/cert*.crt …/generator-A/meta/
发送节点P2P连接地址文件:
cp ./agencyB_node_info/ …/generator-A/meta/
机构A生成组1创世区块
在home/fisco11/generator-A目录下进行操作
vim conf/group_genesis.ini
这里填写的是节点连接地址,是构成组所需要连接的地址都放入进来
此步会根据机构A的meta文件夹下配置的节点证书,生成group_genesis.ini配置的组创世区块,教程中需要机构A的meta下有名为cert_127.0.0.1_,cert_127.0.0.1_,cert_127.0.0.1_,cert_127.0.0.1_的节点证书,此步需要用到机构B的节点证书。
./generator --create_group_genesis ./group
ls group
分发组1创世区块至机构B
cp ./group/group.1.genesis …/generator-B/meta
机构A生成所属节点
在home/fisco11/generator-A目录下进行操作
生成机构A所属节点,此命令会根据用户配置的node_deployment.ini文件生成相应的节点配置文件夹:
注意,此步指定的节点P2P连接信息为组内其他节点的连接信息,多个机构组网的情况下需要将其合并。
./generator --build_install_package ./meta/ ./nodeA
查看生成节点配置文件夹:
ls ./nodeA
机构A启动节点:
bash ./nodeA/start_all.sh
查看节点进程:
ps -ef | grep fisco
机构B生成所属节点
当前操作都在/home/fisco11/generator-B下进行操作
./generator --build_install_package ./meta/ ./nodeB
ls nodeB/
机构B启动节点:
bash ./nodeB/start_all.sh
查看节点进程:
ps -ef | grep fisco
查看组1节点运行状态
查看进程:
ps -ef | grep fisco
查看节点log:
tail -f ./node*/node*/log/log* | grep +++
至此,我们完成了如图所示机构A、机构B搭建组1的操作
证书授权机构初始化机构C
下面的操作在/home/fisco11目录下进行
初始化机构C,请注意,此时generator目录下有链证书及私钥,实际环境中机构C无法获取链证书及私钥。
生成机构C证书
这里要在home/fisco11/generator目录下进行
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyC
查看机构证书及私钥:
ls dir_agency_ca/agencyC/
发送链证书、机构证书、机构私钥至机构C,示例是通过文件拷贝的方式,从证书授权机构将机构证书发送给对应的机构,放到机构的工作目录的meta子目录下
cp ./dir_agency_ca/agencyC/* …/generator-C/meta/
机构A、C构建组2
接下来,机构C需要与A进行新组建立操作,示例中以C生成创世区块为例
机构A发送节点信息
当前操作路径在home/fisco11/generator-A目录下进行操作
由于机构A已经生成过节点证书及peers文件,只需将之前生成的节点P2P连接信息以及节点证书发送至机构C,操作如下:
示例中由机构C生成组创世区块,因此需要机构A的节点证书和节点P2P连接地址文件,将上述文件发送至机构C
发送证书:
cp ./agencyA_node_info/cert*.crt …/generator-C/meta/
发送节点P2P连接地址文件:
cp ./agencyA_node_info/ …/generator-C/meta/
机构C修改配置文件
在home/fisco11/generator-C目录下进行操作
vim conf/node_deployment.ini
机构C生成并发送节点信息
在home/fisco11/generator-C目录下进行操作
机构C生成节点证书及P2P连接信息文件:
./generator --generate_all_certificates ./agencyC_node_info
查看生成文件:
ls ./agencyC_node_info
机构生成节点时需要指定其他节点的节点P2P连接地址,因此,C机构需将节点P2P连接地址文件发送至机构A
cp ./agencyC_node_info/ …/generator-A/meta/
机构C生成组2创世区块
在home/fisco11/generator-C目录下进行操作
机构C修改conf文件夹下的group_genesis.ini如下图所示
vim conf/group_genesis.ini
此步会根据机构C的meta文件夹下配置的节点证书,生成group_genesis.ini配置的组创世区块。
./generator --create_group_genesis ./group ls group
分发组2创世区块至机构A
cp ./group/group.2.genesis …/generator-A/meta/
机构C生成所属节点
在home/fisco11/generator-C目录下进行操作
机构C启动节点:
bash ./nodeC/start_all.sh
查看节点进程:
ps -ef | grep fisco
机构A为现有节点初始化组2
在home/fisao11/generator-A目录下执行
添加组2配置文件至已有节点,此步将组2创世区块group.2.genesis添加至./nodeA下的所有节点内
./generator --add_group ./meta/group.2.genesis ./nodeA
添加机构C节点连接文件peers至已有节点,此步将的节点P2P连接地址添加至./nodeA下的所有节点内:
./generator --add_peers ./meta/ ./nodeA
重启机构A节点:
bash ./nodeA/stop_all.sh
bash ./nodeA/start_all.sh
查看组2节点运行状态
在home/fisco11/generator-C目录下进行操作
查看节点进程:
ps -ef | grep fisco
查看节点log:
tail -f ./node*/node*/log/log* | grep +++
至此,我们完成了如图所示的机构A、C搭建组2构建
扩展–机构C节点加入组1
将节点加入已有组需要用户使用控制台发送指令,将节点加入组
在home/fisco11/generator-A目录下进行操作
发送组1配置文件至机构C节点
./generator --add_group ./group/group.1.genesis …/generator-C/nodeC
重启机构C节点
bash …/generator-C/nodeC/stop_all.sh
bash …/generator-C/nodeC/start_all.sh
查看节点C的
cat nodeC/node_127.0.0.1_00*/conf/
配置控制台
在home/fisco11/generator目录下生成机构Asdk文件
./generator --generate_sdk_certificate ./dir_sdk_caA ./dir_agency_ca/agencyA/
在home/fisco11/generator-A目录下进行操作
下载控制台curl -#LO [.9.2/download_cole.sh && bash download_cole.sh](.9.2/download_cole.sh && bash download_cole.sh)
将sdk证书和链证书拷贝到cole/conf目录下
cp …/…/generator/dir_sdk_caA/sdk/ conf
cp …/…/generator/dir_sdk_caA/sdk/sdk.* conf
拷贝模板文件为
cp -r conf/ conf/
修改文件,将节点A的信息填入
vim conf/
启动控制台 :
bash start.sh
使用控制台将机构C的节点4注册为观察节点
addObserver d4aa774b8f88001a5f9fc27bb976728501ed59f401a6a8efec4a892761e7faddf645d7a2e4bd196b68adbba071942d6b041ca28c6c24edef98079fe6bd
使用控制台将机构C的节点5注册为共识节点
addSealer 70bcfaeabeac920c01fc20a90687df856a24566546175eb02027bf2cafa2655fbc68c760eda4ebee00f7db42d9a87a70706b257f02fb6db8ce749221cdd
退出控制台:
exit
查看节点
在home/fisco11/generator-C/nodeC目录下进行操作
查看节点node_127.0.0.1_004/log内组1信息:
cat log_202412050.00.log | grep g:1 | grep Report
查看节点node_127.0.0.1_005/log内组1信息
cat log_202412050.00.log | grep g:1 | grep Report
至此已经完成了机构C加入组1的操作
扩展–机构A扩容节点加入组1
我们将会为机构A新增节点6,IP、端口号如下:
机构 | 节点 | 所属组 | P2P地址 | RPC监听地址 | Channel监听地址 |
---|---|---|---|---|---|
机构A | 节点6 | 组1 | 127.0.0.1:006 | 127.0.0.1:8551 | 0.0.0.0:20206 |
在上述过程中,机构A已经生成了自己所属的机构证书及私钥,并且拥有了组1的创世区块,扩容节点需要进行的操作如下。
将节点加入已有组需要用户使用控制台发送指令,将节点加入组,示例如下:
机构A修改配置文件
node_deployment.ini为节点配置文件,运维部署工具会根据node_deployment.ini下的配置生成相关节点证书,及生成节点配置文件夹等。
机构A修改conf文件夹下的node_deployment.ini如下图所示:
在home/fisco11/generator-A目录下进行操作
vim conf/node_deployment.ini
机构A生成节点证书及P2P连接信息文件,此步需要用到上述配置的node_deployment.ini,及机构meta文件夹下的机构证书与私钥,机构A生成节点证书及P2P连接信息文件
./generator --generate_all_certificates ./agencyA_node_info_new
查看生成文件:
ls ./agencyA_node_info_new
机构A生成新增节点
生成机构A所属节点,此命令会根据用户配置的node_deployment.ini文件生成相应的节点配置文件夹:
注意,此步指定的节点P2P连接信息为组内其他节点的连接信息,多个机构组网的情况下需要将其合并。
合并当前节点的
cat ./agencyA_node_info/ >> ./meta/
生成新增节点:
./generator --build_install_package ./meta/ ./nodeA_new
查看新增节点配置文件:
ls ./nodeA_new
机构A启动节点:
bash ./nodeA_new/start_all.sh
查看节点进程:
ps -ef | grep fisco
查看节点6的节点id
cat nodeA_new/node_127.0.0.1_006/conf/
使用控制台注册共识节点
在home/fisco11/generator-A/cole目录下进行操作
启动控制台:
bash start.sh
添加共识节点:
addSealer 2bd016805da51bc5fd7e5a48c79a69150d7e079888c41be925d0badc2f6f141d6dc12fac4405e1158b64c8e4e2cef2dbde0c6bf7fee9aa1af0228c6
查看节点共识列表
getSealerList
退出控制台
查看机构A新增节点
在home/fisco11/generator-A内进行操作
查看节点log内group1信息
cat nodeA_new/node_127.0.0.1_006/log/log* | grep g:1 | grep Report
至此新增节点已经加入组内
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-02,如有侵权请联系 cloudcommunity@tencent 删除工具连接配置运维部署#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
下一篇:CentOS 7安装指南
推荐阅读
留言与评论(共有 13 条评论) |
本站网友 陕西男科医院 | 18分钟前 发表 |
示例是通过文件拷贝的方式 | |
本站网友 添丁进口 | 19分钟前 发表 |
示例是通过文件拷贝的方式 | |
本站网友 联创电子 | 29分钟前 发表 |
原始发表:2025-01-02 | |
本站网友 贵阳房交会 | 1分钟前 发表 |
00127.0.0.1 | |
本站网友 淡水租房 | 14分钟前 发表 |
请注意 | |
本站网友 新星星知我心 | 26分钟前 发表 |
原始发表:2025-01-02 | |
本站网友 第一步 | 23分钟前 发表 |
此步需要用到上述配置的node_deployment.ini | |
本站网友 东兴饭局 | 18分钟前 发表 |
ls dir_agency_ca/agencyA/ img为机构证书 | |
本站网友 吻戏多的电影 | 9分钟前 发表 |
img机器环境每个节点的IP | |
本站网友 高龄产妇 | 15分钟前 发表 |
我们完成了如图所示机构A | |
本站网友 梅花村二手房 | 18分钟前 发表 |
cert_127.0.0.1_ | |
本站网友 津南区地图 | 28分钟前 发表 |
1 | grep Report img至此新增节点已经加入组内本文参与 腾讯云自媒体同步曝光计划 |