LoginSignup
14
8

symbol-bootstrapアプデ方法(ローカルインストール)

Last updated at Posted at 2024-04-06

既存のaddresses.ymlの復号

symbol-bootstrap decrypt --password 1234 --source target/addresses.yml --destination plain-addresses.yml

symbol-bootstrapのアップデート

現状、NPMで公開されているsymbol-bootstrapはシンジケートがメンテをしているものではない(コミュニティー有志)らしい。なので、メンテナーに連絡をしているが、連絡が取れずアップデートできないでいるようです(4/7 現在)

なので、適当なフォルダを作成して、その中でシンジケートのgithubより直接ソースコードを取得、ビルド、ローカルインストールを行います。

mkdir src
cd src
git clone https://github.com/symbol/symbol-bootstrap.git
cd symbol-bootstrap
# タグをチェックアウト
git checkout -b v1.1.11 refs/tags/v1.1.11
npm ci
npm run build
# 古いsymbol-bootstrapをアンインストール
npm uninstall -g symbol-bootstrap
# 新しいsymbol-bootstrapをインストール
npm install -g .

アプデ前

symbol-bootstrap -v
symbol-bootstrap/1.1.10 linux-x64 node-v20.11.0

アプデ後

symbol-bootstrap -v
symbol-bootstrap/1.1.11 linux-x64 node-v20.11.0

バージョンがv1.1.11になっていればOKです。

あとは通常のアプデと同じ手法でノードをアプデしてください。

おまけ

symbol-bootstrap start --upgrade -c custom-preset.yml -d
docker ps
CONTAINER ID   IMAGE                                      COMMAND                  CREATED         STATUS                            PORTS                                                                        NAMES
97c6ce9da885   symbolplatform/symbol-server:gcc-1.0.3.7   "/bin/bash /symbol-c…"   5 seconds ago   Up 4 seconds                      0.0.0.0:7900->7900/tcp, :::7900->7900/tcp                                    node
f8b185fbbf46   steveltn/https-portal:1.23.1               "/init"                  5 seconds ago   Up 4 seconds (health: starting)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:3001->443/tcp, :::3001->443/tcp   https-proxy
adbc845fd1e7   symbolplatform/symbol-server:gcc-1.0.3.7   "/bin/bash /symbol-c…"   5 seconds ago   Up 4 seconds                                                                                                   broker
10f5dbc2a13e   symbolplatform/symbol-rest:2.4.4           "npm start --prefix …"   5 seconds ago   Up 4 seconds                      0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                    rest-gateway
e2a5129b1b71   mongo:6.0.14                               "docker-entrypoint.s…"   6 seconds ago   Up 5 seconds                      27017/tcp                                                                    db
curl localhost:3000/node/server

{
	"serverInfo": {
		"restVersion": "2.4.4",
		"deployment": {
			"deploymentTool": "symbol-bootstrap",
			"deploymentToolVersion": "1.1.11",
			"lastUpdatedDate": "2024-04-06"
		}
	}
}

===追記===

DBが起動しない

DBが起動しない場合があります。
原因は不明ですが、手持ちサーバーはではDBが90%くらいの確率で起動しませんでした。

アーカイブから復元

以下のスクリプトをtargetフォルダ内において実行すれば自動的にアーカイブからデータを取得して復元してれます。

#!/bin/bash

download_databases(){
  wget https://symbol-archive.opening-line.jp/mainnet/mainnet.databases.tar.gz
  tar xvf mainnet.databases.tar.gz
}
download_data(){
  wget https://symbol-archive.opening-line.jp/mainnet/mainnet.data.tar.gz
  tar xvf mainnet.data.tar.gz

}

read -p "バックアップから復元処理を実行します。ほんとによろしいですか? (y/N): " yn
case "$yn" in [yY]*) ;; *) echo "処理を中止しました。" ; exit ;; esac

echo "処理を実行します"

symbol-bootstrap stop

rm -fr mainnet.databases.tar.gz
rm -fr mainnet.data.tar.gz

cp target/nodes/node/data/harvesters.dat .

symbol-bootstrap resetData

download_databases &
download_data &

wait

mv databases target/
mv data target/nodes/node/
cp harvesters.dat target/nodes/node/data

symbol-bootstrap run -d

実行

chmod +x recover.sh
./recover.sh
14
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
8