目录
前言
搭建单群组FISCO BCOS联盟链
安装ubuntu依赖
安装centos依赖
第二步. 创建操作目录, 下载安装脚本
第三步. 搭建单群组4节点联盟链
第四步. 启动FISCO BCOS链
第五步. 检查进程
第六步. 检查日志输出
到这里一个单机四节点的FISCO-BCOS联盟链网络就启动完成了
前言随着区块链的发展,目前国内也掀起了一阵区块链的热潮,无论是金融、信任、交易、溯源等领域都是非常受欢迎,慢慢的我们也将成为第一个吃螃蟹的人,本篇文章主要是与大家一起创建一个崭新的FISCO-BCOS区块链网络,单机四节点。
我们选择用国产的FISCO-BCOS来进行我们的第一个区块链网络教程,是因为FISCO-BCOS对于国内相对友好,资源较多架构基本一致,所以我们选择先使用FISCO-BCOS来在大家的脑海里形成一个完整的区块链交易流程与区块链模型。
谢谢支持,精品区块链交流请认准“CQCET-阿雄不会写代码”
搭建单群组FISCO BCOS联盟链本节以搭建单群组FISCO BCOS链为例操作。使用开发部署工具 build_chain.sh
脚本在本地搭建一条4 节点的FISCO BCOS链,以Ubuntu 16.04 64bit
系统为例操作。
第一步. 安装依赖
开发部署工具 build_chain.sh
脚本依赖于openssl, curl
,根据您使用的操作系统,使用以下命令安装依赖。
安装macOS依赖
# 最新homebrew默认下载的为openssl@3,需要指定版本openssl@1.1下载 brew install openssl@1.1 curl安装ubuntu依赖
sudo apt install -y openssl curl安装centos依赖
sudo yum install -y openssl openssl-devel第二步. 创建操作目录, 下载安装脚本
## 创建操作目录 cd ~ && mkdir -p fisco && cd fisco ## 下载脚本 curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.9.0/build_chain.sh && chmod u+x build_chain.sh
- 如果因为网络问题导致长时间无法下载build_chain.sh脚本,请尝试
- curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.0/build_chain.sh && chmod u+x build_chain.sh
在fisco目录下执行下面的指令,生成一条单群组4节点的FISCO链。 请确保机器的30300~30303,20200~20203,8545~8548
端口没有被占用。
注解
- 国密版本请执行
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -G
- 其中-g表示生成国密配置,-G表示使用国密SSL连接
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
注解
- 其中-p选项指定起始端口,分别是p2p_port,channel_port,jsonrpc_port
- 出于安全性和易用性考虑,v2.3.0版本最新配置将listen_ip拆分成jsonrpc_listen_ip和channel_listen_ip,但仍保留对listen_ip的解析功能,详细请参考 这里
- 为便于开发和体验,channel_listen_ip参考配置是 0.0.0.0 ,出于安全考虑,请根据实际业务网络情况,修改为安全的监听地址,如:内网IP或特定的外网IP
命令执行成功会输出All completed
。如果执行出错,请检查nodes/build.log
文件中的错误信息。
Checking fisco-bcos binary... Binary check passed. ============================================================== Generating CA key... ============================================================== Generating keys ... Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1 ============================================================== Generating configurations... Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1 ============================================================== [INFO] Execute the download_console.sh script in directory named by IP to get FISCO-BCOS console. e.g. bash /home/ubuntu/fisco/nodes/127.0.0.1/download_console.sh ============================================================== [INFO] FISCO-BCOS Path : bin/fisco-bcos [INFO] Start Port : 30300 20200 8545 [INFO] Server IP : 127.0.0.1:4 [INFO] Output Dir : /home/ubuntu/fisco/nodes [INFO] CA Key Path : /home/ubuntu/fisco/nodes/cert/ca.key ============================================================== [INFO] All completed. Files in /home/ubuntu/fisco/nodes第四步. 启动FISCO BCOS链
- 启动所有节点
bash nodes/127.0.0.1/start_all.sh
启动成功会输出类似下面内容的响应。否则请使用netstat -an | grep tcp
检查机器的30300~30303,20200~20203,8545~8548
端口是否被占用。
try to start node0 try to start node1 try to start node2 try to start node3 node1 start successfully node2 start successfully node0 start successfully node3 start successfully第五步. 检查进程
- 检查进程是否启动
ps -ef | grep -v grep | grep fisco-bcos
正常情况会有类似下面的输出; 如果进程数不为4,则进程没有启动(一般是端口被占用导致的)
fisco 5453 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node0/../fisco-bcos -c config.ini fisco 5459 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node1/../fisco-bcos -c config.ini fisco 5464 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node2/../fisco-bcos -c config.ini fisco 5476 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node3/../fisco-bcos -c config.ini第六步. 检查日志输出
- 如下,查看节点node0链接的节点数
tail -f nodes/127.0.0.1/node0/log/log* | grep connected
正常情况会不停地输出连接信息,从输出可以看出node0与另外3个节点有连接。
info|2019-01-21 17:30:58.316769| [P2P][Service] heartBeat,connected count=3 info|2019-01-21 17:31:08.316922| [P2P][Service] heartBeat,connected count=3 info|2019-01-21 17:31:18.317105| [P2P][Service] heartBeat,connected count=3
- 执行下面指令,检查是否在共识
tail -f nodes/127.0.0.1/node0/log/log* | grep +++
正常情况会不停输出++++Generating seal
,表示共识正常。
info|2020-12-22 17:24:43.729402|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=2e133146... info|2020-12-22 17:24:47.740603|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=eb199760...d到这里一个单机四节点的FISCO-BCOS联盟链网络就启动完成了
【教程】如何在启动FISCO-BCOS区块链网络后,搭建控制台链接区块链网络