Fisco-BCOS基础环境部署

  • 本文为个人学习笔记,仅供参考

准备工作

系统

本实验使用系统为Ubuntu-20.04,以此嵌套两台CentOS7,并在其中使用docker来搭建环境

开发部署工具build_chain.sh脚本

本实验已提前准备好build.sh脚本,如需获取可前往 [GitHub][GitHub]下载master-2.0分支最新版本预编译可执行程序进行相关环境的搭建

其他

本实验提前准备好了CentOS7虚拟机文件(centos7.qcow2)、yum源(rpms.rar)、docker镜像仓库(docker_images.tar.g)以及国密区块链环境脚本(tassl.tar.gz)

Fisco-BCOS基础环境部署

一、部署Ubuntu基础环境

1、KVM

安装命令,安装完成后重启Ubuntu

1
sudo apt-get install -y qemu-kvm qemu bridge-utils virt-manager virt-viewer

2、net-tools

安装命令

1
sudo apt-get install -y net-tools

3、配置网桥

1
sudo ifconfig virbr0 [IP]

4、设置root口令

1
sudo passwd root

5、openssh

安装
1
sudo apt-get install -y openssh*
编辑配置文件
1
2
3
4
5
6
7
sudo vim /etc/ssh/sshd_config
………………省略部分输出信息………………
34 PermitrootLogin prohibit-passwd
#去掉井号,允许root登录,但是禁止root用密码登录
………………省略部分输出信息………………
58 PasswordAuthentication yes
#去掉井号允许root登录
重启
1
sudo systemctl restart sshd

二、安装配置两台centos7系统虚拟机

1、运行KVM

2、新建虚拟机

3、导入镜像,浏览事先准备好的镜像的存放路径,并选择镜像




4、配置虚拟机参数


5、第二台虚拟机配置

将实现准备好的qcow2镜像文件复制,然后与配置第一台虚拟机操作一致


三、部署centos基础环境

1、修改两台centos虚拟机的主机名一台为chain-a,一台为chain-b

2、分别给chain-a与chain-b配置网卡信息,并重启网络

3、在Ubuntu安装rar,解压事先准备好的yum源rpms.rar

1
2
sudo apt-get install rar -y
sudo rar x rpms.rar

4、将rpms文件夹传输到chain-a的root下

1
scp -r rpms root@10.10.1.200:/root/

5、配置yum源

以下命令在chain-a执行

1
2
rm -rf /etc/yum.repos.d/*
vi local.repo #将rpms写入新的repo文件,配置yum源

1
yum repolist		#查看当前可用yum源

6、在chain-a使用vsftpd来配置chain-b的yum源

chain-a下执行

1
2
3
4
5
6
yum install -y vsftpd	#安装vsftpd
systemctl restart vsftpd #重启
systemctl enable vsftpd #开机自启
firewall-cmd --add-service=ftp --zone=public --permanent #防火墙放行ftp服务
firewall-cmd --reload #防火墙重载
cp -r rpms /var/ftp/pub/ #将rpms放在ftp目录下

chain-b下执行

1
2
rm -rf /etc/yum.repos.d/*
vi ftp.repo #配置yum源

1
yum repolist		#查看当前可用yum源

7、在chain-a、chain-b上安装openssl、openssh

以下命令皆在chain-a、chain-b下执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
yum install -y openssl*			#安装openssl
yum remove -y NetworkManager #为了防止冲突等意外情况,卸载NetworkManager
yum install -y openssh* #安装openssh
vi /etc/ssh/sshd_config #修改ssh配置文件
………………省略部分输出信息………………
PasswordAuthentication yes
#允许root登录
………………省略部分输出信息………………
UseDNS no
禁止使用DNS
………………省略部分输出信息………………
systemctl restart sshd
systemctl enable sshd
ssh-keygen #生成密钥
cd .ssh #切换到密钥目录
ssh-copy-id -i id_rsa.pub [本机IP] #拷贝密钥到本机
ssh-copy-id -i id_rsa.pub [对方IP] #拷贝密钥到对方

测试连通性

Fisco-BCOS部署与启动

一、安装doker

以下操作在chain-a、chain-b下执行

1
2
3
yum install -y docker-ce*
systemctl restart docker
systemctl enable docker

二、部署docker环境以及Fisco-BCOS

1、上传事先准备好的docker_images仓库到chain-a,并在chain-a解压

以下命令在Ubuntu系统执行

1
scp docker_images.tar.gz root@10.10.1.200:/root/

以下命令在chain-a下执行

1
2
tar -zxf docker_images.tar.gz
cd docker_images #切换至解压好的docker_images下

2、在chain-a导入registry镜像

以下命令在chain-a下执行

1
2
3
docker load < docker_registry.tar	#导入镜像
docker images #查看本地镜像
docker tag [image ID] registry:latest

3、启动registry容器

以下命令在chain-a下执行

1
docker run -d --name registry -p 5000:5000 --restart=always -v /storage/registry:/tmp/registry registry

4、编辑daemon.json

以下命令在chain-a下执行

1
2
3
4
5
6
vi /etc/docker/daemon.json
{
"insecure-registries":["fiscoorg:5000"]
}

systemctl restart docker #重启docker

5、配置/etc/hosts文件

以下命令在chain-a下执行

1
2
3
vi /etc/hosts
………………省略部分输出信息………………
10.10.1.200 fiscoorg

6、将chain-a下/etc/hosts以及daemon.json传送至chain-b

以下命令在chain-a下执行

1
2
scp /etc/hosts 10.10.1.201:/etc/
scp /etc/docker/daemon.json 10.10.1.201:/etc/docker/

7、导入fiscoorg.tar,并打上标签

以下命令在chain-a下执行

1
2
3
docker load < fiscoorg.tar
docker tag [image ID] fiscoorg:5000/fiscobcos:v2.6.0
docker images #查看本地镜像

8、上传fiscobcos镜像

以下命令在chain-a下执行

1
docker push fiscoorg:5000/fiscobcos:v2.6.0

9、配置防火墙,放行端口

以下操作在chain-a、chain-b下执行

1
2
3
4
5
firewall-cmd --add-port=20200/tcp --zone=public --permanent
firewall-cmd --add-port=20201/tcp --zone=public --permanent
firewall-cmd --add-port=30300/tcp --zone=public --permanent
firewall-cmd --add-port=30301/tcp --zone=public --permanent
firewall-cmd --reload

10、上传事先准备好的build.sh

以下命令在Ubuntu系统执行

1
2
scp build.sh root@10.10.1.200:/root/
scp build.sh root@10.10.1.201:/root/

11、编写node_list

以下命令在chain-a下执行

1
2
3
vi /root/node_list
10.10.1.200:2 agency1 1 30300,20200,8545
10.10.1.201:2 agency1 2 30300,20200,8545

12、生成fisco-bcos启动文件

以下命令在chain-a下执行

1
bash build.sh -f node_list

13、在chain-b上重启docker,并拉取镜像

1
docker pull fiscoorg:5000/fiscobcos:v2.6.0

14、将chain-a上生成的chain-b的fisco-bcos启动文件传送给chain-b

1
scp -r /root/nodes/10.10.1.201 root@10.10.1.201:/root/

三、Fisco-BCOS启动

1、在启动文件下执行启动脚本

2、查看节点运行情况

1
2
docker ps		#列出容器
docker logs [image ID] #获取容器的日志

国密环境

一、准备国密环境

1、将事先准备好的tassl.tar.gz国密环境包传送到chain-a

以下命令在Ubuntu系统执行

1
scp tassl.tar.gz root@10.10.1.200:/root/

2、解压到指定目录

以下命令在chain-a下执行

1
2
3
4
tar -zxf tassl.tar.gz
mkdir .fisco
mv tassl .fisco/
ll .fisco/tassl #查看文件夹权限

二、国密区块链脚本生成

1、生成脚本

以下命令在chain-a下执行

1
bash build.sh -f node_list -o guomi_nodes -g

2、传送chain-b脚本至chain-b

以下命令在chain-a下执行

1
scp -r guomi_nodes/10.10.1.201 10.10.1.201:/root/

三、启动国密区块链

1、启动脚本

以下操作在chain-a、chain-b下执行

1
bash start_all.sh

2、查看国密区块链

1
2
docker ps		#列出容器
docker logs [image ID] #获取容器的日志,版本号会显示gm

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!