testnet の Peer ノードとして起動

Symbol をビルドしたディレクトリに移動しておきます。

cd ~/symbol/client/catapult/build

証明書

CA 証明書と Node 証明書が必要です。さらに X.509 v1 フォーマットでないといけません。公式の証明書作成ツールが古いSDKを使用していて動かすのが少し面倒なので、私が公式ツールをコピー作成した simple-symbol-node-cert-cli を使用します。

Node.js をインストールします。apt だと結構古いのがインストールされるので、Node.js のバージョン管理が出来る Volta 経由でインストールします。

sudo curl https://get.volta.sh | bash
exec $SHELL -l
volta install node@18

OpenSSL が必要なのでインストールします。X.509 v1 の生成がらみで OpenSSL のバージョンに縛りがありますが、2024年10月現在の Ubuntu 22 では、その縛りに引っかからないので、apt でインストールします。

sudo apt update
sudo apt install -y openssl

simple-symbol-node-cert-cli をインストール。

npm install -g simple-symbol-node-cert-cli

証明書を作成します。

simple-symbol-node-cert-cli generate

実行すると秘密鍵等を保存する際の暗号化に使うパスワードを聞かれるので、入力します。これで証明書が cert ディレクトリに作成されました。ちなみに、公開鍵、アドレスは、以下コマンドで確認できます。

simple-symbol-node-cert-cli info -n testnet

ネメシスブロックとコンフィグファイル

ダウンロードと配置

unzip を使うのでインストールします。

sudo apt install -y unzip

テストネットのネメシス(ジェネシス)ブロックとコンフィグファイルのダウンロード場所が見つからなかったので、bootstrapから取り出したモノを用意しました。

ダウンロードして解凍します。

curl -OL https://github.com/ccHarvestasya/test-network-configuration/archive/refs/heads/main.zip
unzip main.zip

ネメシスブロックを seed に、コンフィグを resources に配置。

mv test-network-configuration-main/seed/ .
mv test-network-configuration-main/resources/* resources/

移動が終わったので、不要なモノを削除。

rm -rf main.zip test-network-configuration-main

コンフィグファイルの変更

ノード情報の設定

ノード情報を設定するためにresources/config-node.propertiesを編集します。
host: 自 IP やドメインを設定
friendlyName: ノードの名前(なんでもいいです)※日本語不可
version: 未設定
roles: peer

[localnode]

host = <YOUR_NODE_IP>
friendlyName = <YOUR_FRIENDLY_NAME>
version =
roles = Peer

ハーベストの設定

ハーベストの設定を resources/config-harvesting.properties に設定します。

ハーベスト無効

ハーベスト不要であればenableAutoHarvestingfalseにして、harvesterSigningPrivateKeyharvesterVrfPrivateKeybeneficiaryAddressを空にすれば良いです。

[harvesting]

harvesterSigningPrivateKey = 
harvesterVrfPrivateKey = 

enableAutoHarvesting = false
maxUnlockedAccounts = 100
delegatePrioritizationPolicy = Importance
beneficiaryAddress = 
ハーベスト有効

あとで書きます…

各ディレクトリの場所を設定

変更する必要はありませんが、各ディレクトリの場所が resources/config-user.properties に設定されています。基点は Symbol を起動した時の作業ディレクトリです。

[account]

enableDelegatedHarvestersAutoDetection = true

[storage]

seedDirectory = ../seed
certificateDirectory = ../cert
dataDirectory = ../data
pluginsDirectory = ../lib
votingKeysDirectory = ../votingkeys

接続ピアの設定

resources/peers-p2p.json に起動時に参照する他の Symbol ノードの URL を設定します。symbol node list (testnet) から数個ピックアップすれば良いです。

数個ノードをピックアップ済です。

ディレクトリの作成

ブロックデータを入れるディレクトリが無いので作成します。

mkdir data

ノードの起動

bin ディレクトリに移動します。

cd bin

ノードを実行します。

./catapult.server

終了は Ctrl + C です。終了するまで時間が掛かる場合がありますが、プロンプトが返ってくるまで待ってください。終了処理中にもう一度 Ctrl + C すると即終了しますが、データが破損します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です