Files
SiMengWebSite_Notes/docs/notes/ops/blockchain/practice/node-deployment.md
2025-10-05 17:35:32 +08:00

4.9 KiB
Raw Blame History

title, createTime, permalink
title createTime permalink
区块链网络部署与管理 2025/10/02 04:13:08 /ops/blockchain/practice/node-deployment/

FISCO BCOS 简介

嘿呀~FISCO BCOS 可是金链盟开源工作组超用心牵头打造的企业级金融区块链底层平台哟!它就像一个超级厉害的小能手,有着高性能、高可用、安全可控这些超棒的特点呢。还支持多群组架构喔,能轻轻松松满足不同业务场景下的数据隔离和隐私保护需求,简直太赞啦!

而且呢FISCO BCOS 还准备了好多丰富的开发工具和组件,就像给开发者们准备了一个魔法百宝箱,帮助大家能快速搭建区块链应用。现在在金融、政务、供应链这些好多好多领域都能看到它活跃的身影,应用可广泛啦!

FISCO BCOS 网络部署

FICSO BCOS 提供了一个 build_chain.sh 来部署区块链,下面的步骤都是通过这个脚本来部署的区块链网络

# 可以通过这个指令下载脚本并赋予执行权限
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh && chmod u+x build_chain.sh

部署单群组4节点联盟链

这里要确保机器的30300-30303,20200-20203,8545-8548端口都没有被占用

# 部署单群组4节点联盟链
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -e ./fisco-bcos

如果是国密版本,执行下面的命令

# 部署单群组4节点联盟链国密版本
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -G  -e ./fisco-bcos

参数解析:

  • -l指定节点的IP地址和节点数
  • -p指定节点的端口号
  • -g 和 -G使用国密sm算法
  • -e使用指定的 fisco-bcos 文件

默认情况下脚本会去 github 上下载 fisco-bcos 二进制文件,这一步在国内很有可能失败,建议提前下载好,然后直接使用本地的

部署完成之后就可以启动节点了

bash nodes/127.0.0.1/start_all.sh

检查节点进程是否存在

ps -ef | grep fisco-bcos

检查节点之间是否互相链接了

# 这里是检查 node0 的日志文件
tail -f nodes/127.0.0.1/node0/log/log*  | grep connected

输出样例如下:

info|2025-10-02 17:06:40.006979|[P2P][Service] heartBeat,connected count=3
...

这里可以看到 count=3说明 node0 已经链接了另外的三个节点

检查节点之间是否存在共识

# 这里是检查 node0 的日志文件
tail -f nodes/127.0.0.1/node0/log/log*  | grep +++

输出样例如下:

info|2025-10-02 17:08:29.795822|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=0,hash=5b5f44f4...
info|2025-10-02 17:08:33.807504|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=0,hash=50fec464...
...

不断输出带有 ++++Generating seal 的日志,说明共识正常

检查群组之间的共识

tail -f nodes/127.0.0.1/node0/log/log* | grep 'g:1.*+++'

输出样例如下:

info|2025-10-02 17:59:59.194525|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=fdb2da54...
info|2025-10-02 18:59:59.225102|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=b7d87997...
info|2025-10-02 19:59:59.327677|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=38dea43f...
info|2025-10-02 20:59:59.462059|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=cb0e89fa...
info|2025-10-02 21:59:59.284218|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=721e8904...

部署多机构多群组多节点

在很多时候,我们需要部署多机构多群组多节点的联盟链,来满足不同业务场景下的需求。

现在有需求如下:

IP 节点数 所属机构 所属群组 P2P端口 Channel端口 RPC端口
127.0.0.1 2 agencyA 1,2 30300 20200 8545
127.0.0.2 2 agencyB 2,3 30400 20300 8645
127.0.0.3 2 agencyC 3 30500 20400 8745
127.0.0.4 2 agencyD 4 30600 20500 8845

这种时候建议直接编辑配置文件,参考样例如下:

127.0.0.1:2 agencyA 1,2 30300,20200,8545
127.0.0.1:2 agencyB 2,3 30400,20300,8645
127.0.0.1:2 agencyC 3 30500,20400,8745
127.0.0.1:2 agencyD 4 30600,20500,8845

通过配置文件部署多机构多群组多节点联盟链

bash build_chain.sh -f ipconf -p 30300,20200,8545 -e ./fisco-bcos

这里查看一下输出信息,应当如下图所示: 多机构多群组多节点部署

参考文章