--- title: 区块链网络部署与管理 createTime: 2025/10/02 04:13:08 permalink: /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` 的日志,说明共识正常 检查群组之间的共识 ```bash tail -f nodes/127.0.0.1/node0/log/log* | grep 'g:1.*+++' ``` 输出样例如下: ```bash 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 | 这种时候建议直接编辑配置文件,参考样例如下: ```bash title='ipconf' 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 ``` 这里查看一下输出信息,应当如下图所示: ![多机构多群组多节点部署](https://image.simengweb.com/notes/ops/blockchain/practice/node-deployment/2025-10-02-172916.png) ## 参考文章 - [搭建第一个区块链网络](https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/installation.html) - [开发部署工具](https://fisco-bcos-documentation.readthedocs.io/zh-cn/release-2.7.0/docs/manual/build_chain.html)