📢 本文由 gemini-2.5-flash 翻譯
這篇文章寫於 2024-04-29,之後有修改過一次,本來以為寫完了,但今天看居然沒寫完,可是相關的東西我早就刪掉了,唉,就這樣吧。
直接部署 WeBASE 到 FISCO BCOS。
Docker 部署
在 CentOS 系統下使用 Docker 安裝
環境
首先安裝 yum-utils 以使用 yum-config-manager
1
| yum install -y yum-utils
|
設定來源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # 官方來源
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
|
安裝
1
| yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
設定 Docker 映像檔來源
內容如下(中國科大映像檔來源)
1
2
3
| {
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
|
啟動 Docker
或者,如果需要修改設定檔,請重新載入設定檔,並重新啟動 Docker 服務
1
2
| systemctl daemon-reload
systemctl restart docker.service
|
安裝 Python
1
| yum install -y python36 epel-release python36-pip
|
下載 docker-compose
1
| curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
修改執行權限
1
| chmod +x /usr/local/bin/docker-compose
|
安裝 PyMySQL
部署區塊鏈
拉取部署腳本
1
| wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip
|
解壓縮安裝包
1
| unzip webase-deploy.zip
|
進入目錄
修改設定檔
拉取映像檔
1
| python3 deploy.py pullDockerAll
|
拉取映像檔時會提示輸入逾時時間,輸入 30/60/120 任一數值即可。
若拉取失敗,可手動拉取相關映像檔,例如 fiscoorg/fiscobcos:v2.9.1
1
| docker pull fiscoorg/fiscobcos:v2.9.1
|
部署
1
| python3 deploy.py installDockerAll
|
看到 deploy has completed 即表示部署成功
常用指令
1
2
3
4
5
6
7
8
9
10
| # 一鍵部署
部署並啟動所有服務 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
1
| tar -zxvf jdk-8u411-linux-x64.tar.gz
|
解壓縮後重新命名
1
| mv jdk1.8.0_411 jdk-8u411
|
設定環境變數,修改檔案 vim /etc/profile
1
2
3
| 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
|
生效
查詢
資料庫
不使用 Docker 的話需要資料庫,安裝 MariaDB,首先建立 repo 檔案
1
| vim /etc/yum.repos.d/mariadb.repo
|
檔案內容如下,使用阿里雲映像檔來源
1
2
3
4
5
6
7
8
9
10
11
| # 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
|
清除快取
1
2
| yum clean all
yum makecache all
|
安裝
1
| yum install -y MariaDB-server MariaDB-client
|
啟動服務
1
| systemctl start mariadb.service
|
設定
1
| mariadb-secure-installation
|
部署區塊鏈
拉取安裝包
1
| wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip
|
解壓縮
1
| unzip webase-deploy.zip
|
進入目錄
修改設定檔
部署
1
| python3 deploy.py installAll
|
啟動與停止操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| # 一鍵部署
部署並啟動所有服務 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),然後存取管理後台。
防火牆
1
2
3
4
5
6
7
8
| # 查詢開放的連接埠
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