0. 摘要

本文根据 Fisco-BCOS 及 Webase 官方文档,就安装过程做了详细描述。针对官方文档中一些不清楚的地方,做了补充,方便新手搭建。

1. 准备工作

1.1 系统:

Ubuntu 20.04.3 Desktop / Server
Fisco-BCOS 2.8.0

1.2 虚拟机配置:

硬件推荐配置 实际配置
CPU 2.4GHz * 8核 8核
内存 8GB 12GB
存储 4TB 128GB
网络带宽 10Mbps 1000Mbps

2. 搭建单群组FISCO BCOS联盟链

2.1 配置系统

2.1.1 更新系统

sudo apt update -y && sudo apt upgrade -y

2.1.2 配置 SSH

注意:对于 Ubuntu Server 20.04,由于系统默认已经安装并配置了 openSSH,故无需此步骤。

而 Ubuntu Desktop 20.04 则未配置 SSH,需手动配置。配置命令如下:

sudo apt install openssh-server -y
sudo ufw allow ssh

2.2 安装依赖

2.2.1 安装依赖包

此处将所有需要用到的依赖包,一并安装。

sudo apt install -y openssl curl wget git nginx dos2unix vim python3-pip unzip software-properties-common dirmngr apt-transport-https

2.2.2 Python 及相关库的安装

由于 Ubuntu 20.04 自带 Python 3.8 版,符合 Fisco-BCOS 安装要求,因此不必再重复安装。

安装 PyMySQL 库

sudo pip3 install PyMySQL

2.2.3 安装 Java

创建新的文件夹,安装 Java 8 或以上的版本,推荐 JDK 8 - JDK 13 版本,将下载的 jdk 放在 /usr/local 目录

从Oracle官网( https://www.oracle.com/java/technologies/downloads/#java8 )选择Java 8或以上的版本下载,例如下载 jdk-8u311-linux-x64.tar.gz

# 移动 JDK 包到 /usr/local 目录
cp ./jdk-8u311-linux-x64.tar.gz /usr/local/# 解压jdk
sudo tar -zxvf jdk-8u311-linux-x64.tar.gz#修改解压后文件的文件名
mv jdk1.8.0_311 jdk-8u311# 配置Java环境,编辑/etc/profile文件
sudo vim /etc/profile# 打开以后将下面三句输入到文件里面并保存退出
export JAVA_HOME=/usr/local/jdk-8u311  #这是一个文件目录,非文件
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar# 生效profile
# 注意,下面这条命令前,不用加 sudo
source /etc/profile# 查询Java版本,出现的版本是自己下载的版本,则安装成功。
java -version
javac -version

2.2.4 安装 MariaDB 10.3 (等效 MySQL 5.7)

配置安装源并安装 MariaDB 10.3

sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.aliyun.com/mariadb/repo/10.3/ubuntu focal main'
sudo apt update -y
sudo apt install -y mariadb-server mariadb-client
sudo systemctl enable mariadb.service

如果出现 mariadb_release_signing_key.asc 无法下载的情况,可先用 wget 下载 mariadb_release_signing_key.asc,再导入 repo 中。具体命令如下:

wget https://mariadb.org/mariadb_release_signing_key.asc
sudo apt-key add mariadb_release_signing_key.asc
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.aliyun.com/mariadb/repo/10.3/ubuntu focal main'
sudo apt update -y
sudo apt install -y mariadb-server mariadb-client
sudo systemctl enable mariadb.service

安装过程中,会配置 root 账户密码

用 root 账户 登录 MySQL

mysql -u root -p -h localhost -P 3306

授权root用户远程访问 与 创建test用户并授权本地访问

mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql > GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql > flush PRIVILEGES;
mysql > create database webasenodemanager;
mysql > exit

2.3 搭建单群组4节点联盟链

2.3.1 创建操作目录

cd ~ && mkdir -p fisco && cd fisco

2.3.2 下载脚本

curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.8.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.8.0/build_chain.sh && chmod u+x build_chain.sh

2.3.3 搭建单群组4节点联盟链

bash ~/fisco/build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545## 启动所有节点
bash ~/fisco/nodes/127.0.0.1/start_all.sh## *关闭所有节点
bash ~/fisco/nodes/127.0.0.1/stop_all.sh

2.3.4 检查进程

检查进程是否启动

ps -ef | grep -v grep | grep fisco-bcos

检查日志输出

tail -f ~/fisco/nodes/127.0.0.1/node0/log/log*  | grep connected

检查是否在共识

tail -f ~/fisco/nodes/127.0.0.1/node0/log/log*  | grep +++

3. 配置控制台

获取控制台并回到fisco目录

cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh && bash download_console.sh

拷贝配置文件与证书

cp -n ~/fisco/console/conf/config-example.toml ~/fisco/console/conf/config.toml
cp -r ~/fisco/nodes/127.0.0.1/sdk/* ~/fisco/console/conf/、

注意:此处必须启动区块链后,才能启动控制台,否则会报错

bash ~/fisco/console/start.sh

4. 配置 WeBase

cd ~/fisco/ && wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.3/webase-deploy.zip

这里注意,解压等操作,应使用普通账户,不能 sudo

unzip webase-deploy.zip

修改 common.properties

vi ~/webase-deploy/common.properties# ----------common.properties内容如下:# WeBASE子系统的最新版本(v1.1.0或以上版本)
webase.web.version=v1.5.3
webase.mgr.version=v1.5.3
webase.sign.version=v1.5.3
webase.front.version=v1.5.3#####################################################################
## 使用Docker启用Mysql服务,则需要配置以下值# 1: enable mysql in docker
# 0: mysql run in host, required fill in the configuration of webase-node-mgr and webase-sign
docker.mysql=1# if [docker.mysql=1], mysql run in host (only works in [installDockerAll])
# run mysql 5.6 by docker
docker.mysql.port=23306
# default user [root]
docker.mysql.password=123456#####################################################################
## 不使用Docker启动Mysql,则需要配置以下值# 节点管理子系统mysql数据库配置
mysql.ip=127.0.0.1
mysql.port=3306
mysql.user=dbUsername                  <-------这里要改
mysql.password=dbPassword              <-------这里要改
mysql.database=webasenodemanager# 签名服务子系统mysql数据库配置
sign.mysql.ip=localhost
sign.mysql.port=3306
sign.mysql.user=dbUsername                  <-------这里要改
sign.mysql.password=dbPassword              <-------这里要改
sign.mysql.database=webasesign# 节点前置子系统h2数据库名和所属机构
front.h2.name=webasefront
front.org=fisco# WeBASE管理平台服务端口
web.port=5000
# 启用移动端管理平台 (0: disable, 1: enable)
web.h5.enable=1# 节点管理子系统服务端口
mgr.port=5001
# 节点前置子系统端口
front.port=5002
# 签名服务子系统端口
sign.port=5004# 节点监听Ip
node.listenIp=127.0.0.1
# 节点p2p端口
node.p2pPort=30300
# 节点链上链下端口
node.channelPort=20200
# 节点rpc端口
node.rpcPort=8545# 加密类型 (0: ECDSA算法, 1: 国密算法)
encrypt.type=0
# SSL连接加密类型 (0: ECDSA SSL, 1: 国密SSL)
# 只有国密链才能使用国密SSL
encrypt.sslType=0# 是否使用已有的链(yes/no)
if.exist.fisco=no              <-------这里要改# 使用已有链时需配置
# 已有链的路径,start_all.sh脚本所在路径
# 路径下要存在sdk目录(sdk目录中包含了SSL所需的证书,即ca.crt、sdk.crt、sdk.key和gm目录(包含国密SSL证书,gmca.crt、gmsdk.crt、gmsdk.key、gmensdk.crt和gmensdk.key)
fisco.dir=/data/app/nodes/127.0.0.1              <-------这里要改
# 前置所连接节点,在127.0.0.1目录中的节点中的一个
# 节点路径下要存在conf文件夹,conf里存放节点证书(ca.crt、node.crt和node.key)
node.dir=node0# 搭建新链时需配置
# FISCO-BCOS版本
fisco.version=2.7.2
# 搭建节点个数(默认两个)
node.counts=nodeCounts

部署并启动所有服务

cd ~/webase-deploy/ && python3 deploy.py installAll

服务部署后,需要对各服务进行启停操作,可以使用以下命令:

# 一键部署
部署并启动所有服务        python3 deploy.py installAll
停止一键部署的所有服务    python3 deploy.py stopAll
启动一键部署的所有服务    python3 deploy.py startAll
# 各子服务启停
启动FISCO-BCOS节点:      python3 deploy.py startNode
停止FISCO-BCOS节点:      python3 deploy.py stopNode
启动WeBASE-Web:          python3 deploy.py startWeb
停止WeBASE-Web:          python3 deploy.py stopWeb
启动WeBASE-Node-Manager: python3 deploy.py startManager
停止WeBASE-Node-Manager: python3 deploy.py stopManager
启动WeBASE-Sign:        python3 deploy.py startSign
停止WeBASE-Sign:        python3 deploy.py stopSign
启动WeBASE-Front:        python3 deploy.py startFront
停止WeBASE-Front:        python3 deploy.py stopFront
# 可视化部署
部署并启动可视化部署的所有服务  python3 deploy.py installWeBASE
停止可视化部署的所有服务  python3 deploy.py stopWeBASE
启动可视化部署的所有服务  python3 deploy.py startWeBASE

WeBASE管理平台的访问:

http://{deployIP}:{webPort}
示例:http://localhost:5000

参考文献:

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html#fisco-bcos
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/webase/webase.html

Ubuntu 20.04 搭建 Fisco-BCOS 2.8.0 区块链系统相关推荐

  1. ubuntu 20.04搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务

    ubuntu 20.04搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务--超详细 一,samba的基本概念 二,samba的安装 三,samba的基本配置 创建文件夹 ...

  2. Ubuntu 20.04 搭建 PXE/iPXE Server

    Ubuntu 20.04 搭建 PXE iPXE Server Introduction PXE Server组件 Configure Static IP Address Configure DHCP ...

  3. Ubuntu 20.04 搭建 DVWA 靶场

    文章目录 0x01. 前言 0x02. 系统和靶场信息 0x03. 具体安装配置过程 0x01. 前言 之前写过在Kali 上搭建 DVWA,因为Kali上已经预装了很多软件和依赖,所以比较方便,最近 ...

  4. Ubuntu21.04搭建FISCO BCOS第一个区块链helloword

    官方地址:搭建第一个区块链网络 - FISCO BCOS v2.7.2 文档 1. 搭建单群组FISCO BCOS联盟链 安装依赖curl sudo apt install -y openssl cu ...

  5. ubuntu 20.04搭建elasticsearch-7.6.2

    目录 ubuntu安装 es7.6.2 安装步骤 上传至Ubuntu 服务器 这里我存放在 /usr/ 解压elasticsearch-7.6.2-linux-x86_64.tar.gz 出现问题及解 ...

  6. FISCO BCOS开发第一个区块链应用

    1.wsl安装jdk (96条消息) [从零开始]在Windows中使用Linux--在WSL使用CLion.IDEA.PyCharm(安装到建立工程)--更新于2021.12_ymzhu385的博客 ...

  7. 如何开发和搭建一个优质的Web3.0/区块链项目?

    在区块链世界和加密领域中.Web3绝对算得上是一个耀眼的明星了,现在的风头明显盖过前两位老大哥了. 相信许多人也都想尝试熟悉或者参与区块链,加密领域和Wed3之中,今天我们就来谈谈如何以软件开发的角度 ...

  8. ubuntu 20.04搭建ESP-ADF开发环境

    1. 下载esp-gitee-tools 包含给 gitee 其他仓库提供的扩展工具,包括 submodule 更新.开发工具安装等. git clone https://gitee.com/Espr ...

  9. 第三篇 Ubuntu 20.04 搭建AI开发环境

    文章目录 摘要 CUDA安装方法 1.检查驱动 2.安装CUDA 3.配置PATH 安装cuDNN 安装Anaconda 安装PyCharm 摘要 这篇文章包括CUDA的安装方法.cuDNN安装方法. ...

最新文章

  1. UE4场景设计学习教程
  2. 如何DoDelete(Delete)中的Delete文本值传到DoDelete方法,报错信息为:Delete未定义!...
  3. ES6入门概览二--数组
  4. matlab之unwrap函数
  5. C++ 关键字new
  6. 使用CMake编译freeglut-3.0.0的静态库
  7. .NET 5 中的正则引擎性能改进(翻译)
  8. vue如何获取年月日_好程序员web前端教程分享Vue相关面试题
  9. bytevalue_Java Short类byteValue()方法及示例
  10. Java 统计字母个数
  11. c++如何打印一维数组首地址_4.1 数组的定义
  12. 51Nod-2148 字符出现位置【水题】
  13. javaweb图书管理系统源码
  14. HBuilder开发App教程
  15. MatConvNet的excise 3改为网络配置文件形式
  16. Python 税额计算器
  17. 由和与加数进行凑数的遍历算法
  18. Python爬虫下载视频(梨视频)
  19. 华为eNSP华三HCL模拟器,VirtualBox整合,版本兼容
  20. IK分词器下载、使用和测试

热门文章

  1. 01-基于C++的简易技能系统实现
  2. cocos2d android 音乐,cocos2d-之音乐背景播放(示例代码)
  3. 教师管理系统代码html,江苏省教职工信息管理系统:https://www.jste.net.cn/cmsplus/index.html...
  4. jquery.uploadify php,jQuery上传插件Uploadify的使用方法
  5. CentOS程序包管理、上
  6. 更改浏览器默认的网址
  7. java检查中断_死神来了怎么判断之java线程中断
  8. (NO.00005)iOS实现炸弹人游戏(一):游戏的整体规划设计
  9. 短视频处理LanSoEditor-SDK之抠图和动画设计
  10. 全球半导体今年出货有望创新高,蓝牙芯片需求强劲