使用 WeBASE 部署 FISCO BCOS 区块链

文章写于 2024-04-29,之后改了一次来着,本来以为写完了,但今天看居然没写完,但是相关东西我早就删了来着,唉,就这样吧

部署 webase 直接部署 fisco bcos

Docker 部署

CentOS 系统下用 Docker 安装

环境

首先安装 yum-utils 以使用 yum-config-manager

yum install -y yum-utils

配置源

# 官方源
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 阿里云
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 清华大学
yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

配置 docker 镜像源

vim /etc/docker/daemon

内容如下 (中科大镜像源)

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

启动 docker

systemctl start docker

或者修改配置文件需要,重新加载配置文件,重启 docker 服务

systemctl daemon-reload
systemctl restart docker.service

安装 python

yum install -y python36 epel-release python36-pip

下载 docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

修改执行权限

chmod +x /usr/local/bin/docker-compose

安装 PyMySQL

pip3 install PyMySQL

部署区块链

拉取部署脚本

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip

解压安装包

unzip webase-deploy.zip

进入目录

cd webase-deploy

修改配置文件

vim common.properties

拉取镜像

python3 deploy.py pullDockerAll

拉取镜像时会提示输入超时时间,输入 30/60/120 任意一个即可

若拉取识别,可手动拉取相关镜像,例如 fiscoorg/fiscobcos:v2.9.1

docker pull fiscoorg/fiscobcos:v2.9.1

部署

python3 deploy.py installDockerAll

看到 deploy has completed 即为部署成功

常用命令

# 一键部署
部署并启动所有服务        python3 deploy.py installDockerAll
停止一键部署的所有服务    python3 deploy.py stopDockerAll
启动一键部署的所有服务    python3 deploy.py startDockerAll
# 节点的启停
启动所有FISCO-BCOS节点:      python3 deploy.py startNode
停止所有FISCO-BCOS节点:      python3 deploy.py stopNode
# WeBASE服务的启停
启动所有WeBASE服务:      python3 deploy.py dockerStart
停止所有WeBASE服务:      python3 deploy.py dockerStop

java 环境部署

不使用 docker 需要 java 环境,CentOS 需要用 Oracle JDK,从其 官网下载 JDK8 后解压,假设文件名为 jdk-8u411-linux-x64.tar.gz

tar -zxvf jdk-8u411-linux-x64.tar.gz

解压后重命名

mv jdk1.8.0_411 jdk-8u411

配置环境变量,修改文件 vim /etc/profile

export JAVA_HOME=/home/yexca/software/jdk-8u411
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOMR/lib/tools.jar

生效

source /etc/profile

查询

java -version

数据库

不使用 docker 需要数据库,安装 MariaDB,首先创建 repo 文件

vim /etc/yum.repos.d/mariadb.repo

文件内容如下,使用阿里云镜像源

# MariaDB 11.2 CentOS repository list - created 2024-04-30 03:16 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/11.2/centos/$releasever/$basearch
baseurl = https://mirrors.aliyun.com/mariadb/yum/11.2/centos/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

清除缓存

yum clean all
yum makecache all

安装

yum install -y MariaDB-server MariaDB-client

启动服务

systemctl start mariadb.service

配置

mariadb-secure-installation

部署区块链

拉取安装包

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip

解压

unzip webase-deploy.zip

进入目录

cd webase-deploy

修改配置文件

vim common.properties

部署

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

访问

根据配置项 web.port=5000 确定访问端口 (默认为 5000) 访问管理后台

防火墙

# 查询开放的端口
firewall-cmd --zone=public --list-ports
# 开放端口 --permanent为永久开放
firewall-cmd --zone=public --add-port=5000/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查询是否开放
firewall-cmd --zone=public --query-port=5000/tcp

智能合约

2025-03-13: 我也不知道这边写的是啥了

webase 后台的合约管理的合约 IDE 创建合约

编译后新建用户,在私钥管理处

通过发交易测试是否成功

参考文章

WeBASE 文档

https://www.runoob.com/docker/centos-docker-install.html

https://mariadb.org/download/?t=repo-config&d=CentOS+7&v=11.2&r_m=aliyun

https://blog.csdn.net/default7/article/details/122672341

https://www.cnblogs.com/potato-chip/p/13973780.html

This post is licensed under CC BY-NC-SA 4.0 by the author.