先把建链脚本、节点目录和控制台的关系弄清楚,再检查端口与证书。这里保留了当时使用的不同部署模式参数,实际操作时要先确认脚本版本。
本文由个人备赛旧笔记整理,整理日期为 2026-11-03。命令、输出和测试记录属于当时的实验环境;本文未重新搭建整套环境验证。
阅读前先确认
FISCO BCOS 2.x、3.x 以及 Air、Pro 的参数不能混用。以手头脚本的 bash build_chain.sh -h 为准,控制台和 SDK 也要匹配。
FISCO 1
FISCO BCOS 的组成
build_chain.sh 是节点的部署工具 会自动下载节点部署文件和相应的.sh 脚本
download_console.sh 会为我们下载控制台的压缩包并解压
检查证书内容确认证书匹配
1 | ┌──(cure㉿LAPTOP-CMAM5D0J)-[~/test_2/console] |
1 | ┌──(cure㉿LAPTOP-CMAM5D0J)-[~/test_2/fisco/nodes/127.0.0.1] |
控制台的配置文件 conf/config.toml
中文注释版
1 | [cryptoMaterial] |
国密配置
FISCO 2
命令解析
1 | bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 |
这是启动构建区块链节点脚本的命令参数解析如下
- 设置了IP为本地主机地址
- 4代表启动四个节点
- 三个端口是三个起始端口
- 分别是
- P2P网络起始端口
- RPC/Channel端口
- JSON/RPC端口
命令后的端口分配
1 | 节点1: 127.0.0.1:30300, 127.0.0.1:20200, 127.0.0.1:8545 |
注意事项
JavaSDK连接节点存在失败的可能 排查思路
- 解决方法摘自官方issue:
Important: 前置说明
1. jdk版本支持
JavaSDK原则上支持从jdk 1.8到jdk 15的OracleJDK和OpenJDK,但中间有部分版本禁用或者不支持secp256k1曲线,会导致sdk与节点之间握手失败,请首先检查当前使用的jdk是否支持secp256k1曲线,目前已经覆盖测试的jdk版本如下,推荐大家使用:
OracleJDK:- 1.8.0_141
- 1.8.0_202
- 11.0.2
- 14.0.2
- 15.0.2
OpenJDK:- 11.0.2
- 14.0.2
- 15.0.2
踩坑
fisco 2.x版本启动console 有SSL问题
3.x版本没有这个问题 溯源四小时无结果,默认2.x版本被淘汰
- 尝试:
- CA证书添加到
jre信任 - 更换多个
jdk版本 - 更换操作系统
- CA证书添加到
FISCO 3
这些是合约存放目录存放有大量的合约
1 | ┌──(cure㉿LAPTOP-CMAM5D0J)-[~/fisco/console/contracts/solidity] |
FISCI build chain
FISCO BCOS 一键脚本
FISCO BCOS提供了build_chain.sh脚本帮助用户快速搭建FISCO BCOS联盟链。
通过脚本 + 参数我们就可以使用其中的功能
例子:
1 | bash build_chain.sh -C expand_node -V pro -o expand_node -c ./config.toml |
通用参数(适用于 air 模式)
| 参数 | 说明 |
|---|---|
-C <Command> |
【可选】命令类型,当前支持 deploy(部署)和 expand(扩展),默认为 deploy |
-g <group id> |
【可选】群组ID,默认为 group0 |
-I <chain id> |
【可选】链ID,默认为 chain0 |
-v <FISCO-BCOS binary version> |
【可选】FISCO-BCOS二进制版本,默认为最新版 v3.10.0 |
-l <IP list> |
【必需】IP列表,格式为 "ip1:节点数1,ip2:节点数2",例如:"192.168.0.1:2,192.168.0.2:3" |
-L <fisco bcos lightnode exec> |
【可选】轻节点可执行文件路径,输入 download_binary 下载或指定正确的轻节点二进制路径 |
-e <fisco-bcos exec> |
【可选】fisco-bcos 二进制可执行文件路径 |
-t <mtail exec> |
【可选】mtail 二进制可执行文件路径 |
-o <output dir> |
【可选】输出目录,默认为 ./nodes |
-p <Start port> |
【可选】起始端口,默认为 30300,20200(即 p2p_port 从 30300 开始,rpc_port 从 20200 开始) |
-s <SM model> |
【可选】是否启用国密SSL连接,默认为 false |
-H <HSM model> |
【可选】是否使用硬件安全模块(HSM),默认为 false |
-c <Config Path> |
【扩展节点时必需】指定扩展节点的配置文件路径(需包含 config.ini、config.genesis 和 nodes.json) |
-d <CA cert path> |
【扩展节点时必需】扩展节点时指定CA证书和私钥的路径 |
-D <docker mode> |
【可选】是否启用Docker模式,默认为关闭。设置 -D 时使用Docker构建 |
-E <Enable debug log> |
【可选】是否启用调试日志,默认为关闭。设置 -E 时启用 |
-a <Auth account> |
【可选】认证模式下指定管理员账户地址 |
-w <WASM mode> |
【可选】是否使用WASM虚拟机引擎,默认为 false |
-R <Serial_mode> |
【可选】是否使用串行执行,默认为 true |
-k <key page size> |
【可选】键值分页大小,默认为 10240 |
-m <fisco-bcos monitor> |
【可选】是否启用节点监控,默认为 false |
-i <fisco-bcos monitor ip/port> |
【可选】扩展节点时需指定监控服务的IP和端口 |
-M <fisco-bcos monitor> |
【可选】扩展节点时指定Prometheus监控工具的路径 |
-z <Generate tar packet> |
【可选】打包链上数据生成tar包 |
-n <node key path> |
【可选】设置节点密钥文件路径以加载节点ID |
-N <node path> |
【可选】设置需修改为多CA模式的节点路径 |
-u <multi ca path> |
【可选】设置多CA模式下其他CA的路径 |
-6 <ipv6 mode> |
【可选】是否启用IPv6模式(默认监听 ::),默认为 false |
-T <Consensus Algorithm> |
【可选】共识算法,默认为 PBFT,可选 pbft / rpbft(推荐 pbft) |
-h |
显示帮助信息 |
Pro/Max 模式专用参数
| 参数 | 说明 |
|---|---|
-C <Command> |
【可选】命令类型,当前仅支持 deploy(部署),默认为 deploy |
-g <group id> |
【可选】群组ID,默认为 group0 |
-I <chain id> |
【可选】链ID,默认为 chain0 |
-V <chain version> |
【可选】链版本,支持 air、pro、max,默认为 air |
-l <IP list> |
【必需】IP列表,格式同通用模式 |
-p <Start port> |
【可选】起始端口,默认为 30300,20200,40400,2379(即 p2p_port 从 30300 开始,rpc_port 从 20200 开始,tars_port 从 40400 开始,tikv_port 默认为 2379) |
-e <service binary path> |
【可选】RPC网关节点服务的二进制路径 |
-y <service binary download type> |
【可选】RPC网关节点服务二进制下载类型,默认为 cdn |
-v <service binary version> |
【可选】服务二进制版本,默认为最新版 v3.10.0 |
-r <service binary download path> |
【可选】服务二进制下载路径,默认为 binary |
-c <Config Path> |
【可选】指定部署节点的 config.toml 配置文件路径 |
-t <deploy type> |
【可选】部署类型,支持 rpc、gateway、node、all,默认为 all |
-o <output dir> |
【可选】输出目录,默认为 generated |
-s <SM model> |
【可选】是否启用国密SSL连接,默认为 false |
-h |
显示帮助信息 |
复现时的自查
- 记录自己实际使用的版本、配置和缺失依赖。
- 对照本篇关键步骤,保存命令或调用结果,并解释结果代表什么。
- 对失败或与原记录不一致的情况保留错误信息,不把历史输出当成自己的验证结果。
本文作者 Allureluoli
文字版权归作者所有,转载请注明出处;商业用途请先联系二月。