WeBASE を使って FISCO BCOS ブロックチェーンをデプロイする

📢 この記事は ChatGPT によって翻訳されました

この記事は 2024-04-29 に書いたやつで、あとでちょっと修正したけど、結局完成してなかったみたい。しかももう関連ファイルも全部削除しちゃってる。まあ、いいや。

WeBASE を使って直接 FISCO BCOS をデプロイした記録。

Docker デプロイ

CentOS で Docker を使ってセットアップ。

環境構築

まず yum-utils をインストールして yum-config-manager を使えるように:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
yum install -y yum-utils
~~~

リポジトリを追加:

```bash
# 公式
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

Docker をインストール:

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

Docker ミラーを設定(中科大のミラー):

1
vim /etc/docker/daemon

内容:

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

Docker を起動:

1
systemctl start docker

設定を変更したら

1
2
systemctl daemon-reload
systemctl restart docker.service

Python をインストール:

1
yum install -y python36 epel-release python36-pip

docker-compose をダウンロード:

1
2
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 をインストール:

1
pip3 install PyMySQL

ブロックチェーンのデプロイ

スクリプトを取得:

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

解凍して移動:

1
2
unzip webase-deploy.zip
cd webase-deploy

設定ファイルを編集:

1
vim common.properties

Docker イメージを取得:

1
python3 deploy.py pullDockerAll

タイムアウトの値(30/60/120)を聞かれたら適当に入力。

もし失敗したら、手動でイメージを pull:

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
11
12
# 一括操作
python3 deploy.py installDockerAll   # デプロイと起動
python3 deploy.py stopDockerAll      # 全停止
python3 deploy.py startDockerAll     # 全再開

# ノード操作
python3 deploy.py startNode
python3 deploy.py stopNode

# WeBASE サービス操作
python3 deploy.py dockerStart
python3 deploy.py dockerStop

Java 環境でのデプロイ(非 Docker)

Docker 使わないなら Java が必要。CentOS の場合 Oracle JDK を使う。

Oracle 公式から JDK8 をダウンロードして、解凍:

1
2
tar -zxvf jdk-8u411-linux-x64.tar.gz
mv jdk1.8.0_411 jdk-8u411

環境変数を設定:

1
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

反映:

1
source /etc/profile

バージョン確認:

1
java -version

データベース:MariaDB

まず yum リポジトリを追加:

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

内容:

1
2
3
4
5
6
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/11.2/centos/$releasever/$basearch
module_hotfixes = 1
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
2
3
4
5
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

操作コマンド一覧:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# 一括操作
python3 deploy.py installAll
python3 deploy.py stopAll
python3 deploy.py startAll

# 各サービス個別操作
python3 deploy.py startNode
python3 deploy.py stopNode
python3 deploy.py startWeb
python3 deploy.py stopWeb
python3 deploy.py startManager
python3 deploy.py stopManager
python3 deploy.py startSign
python3 deploy.py stopSign
python3 deploy.py startFront
python3 deploy.py stopFront

# 可視化用
python3 deploy.py installWeBASE
python3 deploy.py stopWeBASE
python3 deploy.py startWeBASE

アクセス

ポートは web.port=5000(デフォルト)でアクセスできる。

ファイアウォールの設定:

1
2
3
4
firewall-cmd --zone=public --list-ports
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 から新規作成。 コンパイル → ユーザー作成 → 秘密鍵登録 → トランザクションで動作確認、という流れ。

参考

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。