区块链入门教程(4)--搭建单机四节点FISCO BCOS联盟链
文章目录
- 1. 任务背景
- 2. 任务目标
- 3. 相关知识点
- 4. 任务实操
- 4.1 切换root用户
- 4.2 安装依赖
- 4.3 创建目录,下载安装脚本
- 4.4 搭建单群组4节点联盟链
- 4.5 启动FISCO BCOS链
- 4.6 检查进程
- 4.7 检查日志输出
- 5. 任务总结
- 6. 任务拓展
1. 任务背景
要学习区块链,首先得有一个区块链系统去操作、学习、研究,FISCO BCOS区块链系统是一个应用广泛、文档全面、知名度向量的区块链系统,我们就从该系统安装开始入手学习。
2. 任务目标
在Ubuntu系统中安装FISCO BCOS区块链系统。
本节搭建一个简单的4节点的FISCO BCOS链,通过单机上部署一条4节点的FISCO BCOS联盟链,帮助大家掌握FISCO BCOS部署流程
3. 相关知识点
可以使用官方提供的开发部署工具 build_chain.sh,快速安装FISCO BCOS。
第一次使用ubuntu,可以使用
sudo passwd
设置根密码。
可以依次执行
sudo apt-get autoremove open-vm-tools
、sudo apt-get install open-vm-tools-desktop
、sudo reboot
,重启后支持从windows系统复制到虚拟机粘贴,注意虚拟机终端使用右键粘贴。
4. 任务实操
4.1 切换root用户
使用su命令切换root身份,因为安装过程需要一些比较高的权限,为了简化后续命令,索性直接使用root。
su
4.2 安装依赖
开发部署工具 build_chain.sh脚本依赖于openssl, curl,所以先安装依赖。
sudo apt install -y openssl curl
不报错即为安装完成。
4.3 创建目录,下载安装脚本
在/opt下创建fisco目录,用于存放下载的脚本。然后将build_chain.sh脚本下载到该目录。
mkdir /opt/fisco
cd /opt/fisco
## 下载脚本
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.9.1/build_chain.sh && chmod u+x build_chain.sh
注意这个速度还是比较快的,不报错即为下载完成。
4.4 搭建单群组4节点联盟链
在fisco目录下执行下面的指令,生成一条单群组4节点的FISCO链。 请确保机器的30300~30303,20200~20203,8545~8548
端口没有被占用
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
提示:
- 其中-p选项指定起始端口,每组占用3个端口,分别代表p2p_port,channel_port,jsonrpc_port。
- 所以第一个节点使用的端口是
30300/20200/8545
,第二个节点使用30301/20201/8546
,后面以此类推。 - 这里 为便于开发和体验,channel_listen_ip参考配置是 0.0.0.0。
- 命令执行成功会输出
All completed
。如果执行出错,请检查nodes/build.log
文件中的错误信息。
如下即为执行成功截图
4.5 启动FISCO BCOS链
执行如下命令启动所有节点
bash /opt/fisco/nodes/127.0.0.1/start_all.sh
如下表示启动成功:
如果没有启动成功,使用netstat -an | grep tcp
检查机器的30300~30303,20200~20203,8545~8548
端口是否被占用。
4.6 检查进程
执行如下命令,检查进程是否启动
ps -ef | grep -v grep | grep fisco-bcos
应该输出4个fisco
相关的进程记录。
4.7 检查日志输出
查看节点node0链接的节点数
tail -f nodes/127.0.0.1/node0/log/log* | grep connected
正常情况会不停地输出连接信息,从输出可以看出node0与另外3个节点有连接,如下图:
执行下面的命令,查看共识状态。
tail -f nodes/127.0.0.1/node0/log/log* | grep +++
如下图,不停输出+号,表示共识正常。
5. 任务总结
通过以上步骤,即为完成了FISCO BCOS区块链系统安装。
注意系统重启后,还需要执行bash /opt/fisco/nodes/127.0.0.1/start_all.sh
启动FISCO BCOS。
6. 任务拓展
最后讨论一个问题,就是无外网条件下,如何搭建单群组区块链网络。
最简单的操作方式是在有外网的Linux机器上使用build_chain建好链,借助-z选项打包,然后拷贝到无外网的机器上运行。
也就是以讲fisco打包后,拷贝到其他机器上,然后解压运行。
区块链入门教程(4)--搭建单机四节点FISCO BCOS联盟链相关推荐
- FISCO BCOS 联盟链Pro搭建
FISCO BCOS Pro版本 版本说明 FISCO BCOS 3.0支持Pro版本微服务区块链架构,Pro版本FISCO BCOS包含RPC服务.Gateway服务和节点服务,每个服务均可独立部署 ...
- 搭建FISCO BCOS联盟链节点
搭建FISCO BCOS联盟链 FISCO BCOS是由国内企业主导研发.对外开源.安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源: 在本地mac电脑上部署 ...
- 区块链入门教程(5)--搭建分组组网联盟链
文章目录 1. 任务背景 2. 任务目标 3. 相关知识点 4. 任务实操 4.1 建立目录 4.2 下载脚本 4.3. 编辑配置文件 4.4. 安装节点 4.5 启动 5. 总结 1. 任务背景 有 ...
- FISCO BCOS 联盟链Max搭建
FISCO BCOS Max版本 版本说明 为了能够支撑海量交易上链场景,v3.0.0推出了Max版本FISCO BCOS,Max版本FISCO BCOS旨在提供海量存储服务.高性能可扩展的执行模块. ...
- 手把手教你实操部署FISCO BCOS联盟链(附每一步代码)
感谢FISCO BCOS社区贡献者--刘海锋,贡献此文. 贡献无大小,分享永留传.谢谢你们的每一次贡献.最后,如果你也想成为Mr.FISCO BCOS,一起干出点改变世界,到老了可以跟孙辈们吹吹牛的事 ...
- 搭建Air版本FISCO BCOS联盟链(v3.x)
以下安装均是在Ubuntu下面进行 1.安装ubuntu依赖 sudo apt install -y curl openssl wget 2.创建操作目录,下载安装脚本 cd ~ && ...
- 兄弟连区块链入门教程分享区块链POW证明代码实现demo
区块链入门教程分享区块链POW证明代码实现demo 这里强调一下区块链的协议分层 应用层 合约层 激励机制 共识层 网络层 数据层 上 一篇主要实现了区块链的 数据层,数据层主要使用的技术 ...
- 零基础 Amazon Web Services (AWS) 入门教程图文版(四)
自上一篇之后,5天过去了,这篇文章总算是挤出来了... 其实看不看无所谓啦,都说了WDCP非常适合小白,随便折腾.要是折腾的时候遇到什么问题,欢迎留言探讨~ 五.新建站点 登录WDCP后台,首次登录会 ...
- Linux Shell脚本入门教程系列之(四)Shell注释
本文是Linux Shell脚本系列教程的第(四)篇,更多shell教程请看:Linux Shell脚本系列教程 与许多的编程语言一样,Shell中也有注释符号,继上一篇之后,今天就为大家来介绍下Sh ...
最新文章
- 基于opencv实现模块化图像处理管道
- Badread: simulation of error-prone long reads
- 加入域的时候提示拒绝访问|活动目录域加入域权限委派
- git--分支管理策略
- No module named Crypto--转
- Spring Cloud Gateway之负载均衡
- 北斗导航 | 卫星信号的跟踪与解调
- Linux自启进程管理工具,进程管理工具Supervisor的安装及使用
- akka java_java – Akka和Spring集成
- 浙大计算机考研录取名单2021,2021浙大考研拟录取名单公布,初试倒数第一竟然成功逆袭!...
- 一边学,一边写出的人工智能教程(一)
- 请谨慎设置WinForm控件DataGridView列的AutoSizeMode属性
- 香港 三星 android6.0,【极光ROM】-【三星NOTE20高通全系列(国行/港版/台版/韩版/美版) N98XX】-【V6.0 Android-R-UC1】...
- 100条历史典故,读懂半个中国
- 转:教人找电影的攻略
- Codeforces Round #612 (Div. 1) A. Garland(dp动态规划)
- PMP 项目管理(12)项目采购管理 思维导图 解读
- Android 绘制气泡
- 解决'python -m pip install --upgrade pip',显示“'python' 不是内部或外部命令,也不是可运行的程序”
- .*? 和 .*的区别