一、前言介绍:
本篇博客以Ubuntu虚拟机为例
本篇博客我会大致介绍“搭建第一个区块链网络”的搭建过程,具体的还是要查看FISCO-BCOS的官方文档。会着重介绍在搭建过程中可能遇到的一些报错,以及解决报错的常用方法。
参考FISCO-BCOS的官方文档(搭建第一个区块链网络 — FISCO BCOS 2.0 v2.11.0 文档)
二、FISCO-BCOS介绍:
FISCO BCOS 是一个稳定、高效、安全的区块链底层平台,经过多家机构、多个应用,长时间在生产环境运行的实际检验。(在此不过多介绍Fisco-Bcos,有兴趣的可以点击下面的官方链接FISCO BCOS 2.0 技术文档 — FISCO BCOS 2.0 v2.11.0 文档)
三、区块链网络搭建过程(以Ubuntu虚拟机为例):
区块链初学者可以将本篇博客作为练习“搭建第一个区块链网络”的指南,毕竟没有给出任何代码提示,只给出了必要的下载网址;
1.首先要安装Ubuntu依赖,一般在root模式下安装;
sudo apt install -y openssl curl
2.创建一个操作目录以便后面的操作,在目录中下载安装脚本;
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh && chmod u+x build_chain.sh
3.搭建单群祖4节点联盟链,并确保30300—30303、20200—20203、8545—8548端口没被占用;
4.对应目录下开启所有节点,从而启动FISCO BCOS链;
5.检查进程是否被启动;通过查看节点node0连接的节点数,从而检查日志;通过查看返回值有没有+++来检查是否存在共识;
6.安装java依赖、获取控制台并回到fisco目录;
sudo apt install -y default-jdkcd ~/fisco && curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh
7.拷贝控制台配置文件、拷贝控制台配置证书;
8.启动控制台,如果失败检查conf/config.toml中的节点端口是否则正确;
9.用控制台获取版本信息,获取节点信息;
10.部署HelloWorld合约;
11.查看当前块高,调用get接口获取name变量;
12.查看块高,快高不变,get接口不更改接口状态,调用set设置name;
13.查看块高,块高增加表示已出块,账本状态已更改;
14.调用get接口获取name变量,检查设置是否生效;
15.退出控制台。
四、常见报错及解决方法:
1.网络错误解决方法一:
当遇见网络错误时,通常在Ubuntu终端ping一个域名来检验自己虚拟机网络是否连接;譬如ping baidu.com 没有返回值时,可以执行命令 sudo declient ens33 ,再次ping baidu.com时会发现有返回值并且会一直出现返回值;从github拉取文件时也可以使用 ping github.com 来检验终端是否连接到 github;ping 操作如下图所示👇;
2.网络错误解决方法二:
(1)方法一不能使用时,需要进入root模式,执行vim /etc/hosts ,通过添加网关 140.82.112.3 github.com 和199.232.69.194 github.global.ssl.fastly.net ,来实现虚拟机与github网站的连接。网关添加成功之后需要保存退出,再次ping baidu.com 或 ping github.com 来检查虚拟机是否与网站成功建立联系;
(2)当从GitHub拉取文件时,需要虚拟机与github.com保持网络连接,当多次拉取文件提示失败时就要ping github.com 来检查是否与github网站建立联系;如下图所示时ping github.com成功之后的返回样式,会一直弹出连接信息,快捷键停止更新信息是Ctrl+C;
3.命令软件包的安装:
(1)例如下面这张图片,我们在使用命令vim之前未安装vim命令,导致系统报错,未找到命令“vim”,同时也给出了安装建议,并指出具体的安装操作,并且还是使用sudo命令安装,使用sudo命令安装可以避免用户模式下安装权限不够,导致安装失败;但是需要输入root密码;
(2)我们可以根据自己的版本需要来执行不同的安装命令,后面是版本信息,前面对应的是安装命令;下图以安装vim为例,会询问sudo密码,这是自己提前设置好的,在安装过程中会询问“您希望继续执行吗?[Y/n]”,输入y系统会继续安装命令,输入n系统会中止安装命令;
(3)其实有一个小技巧,利用系统提醒来选择具体的安装指令;譬如在安装命令curl 时不知道具体的安装指令,并且在未安装的前提下,可以直接输入curl 点击回车,然后通过系统给出指示来选择自己所需要的指令;如下图所示:
五、后序:
本篇博文就到此为止,后面会继续更新。
对智能合约感兴趣的可以去看看我的智能合约专栏