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
に設定します。
ハーベスト無効
ハーベスト不要であればenableAutoHarvesting
をfalse
にして、harvesterSigningPrivateKey
、harvesterVrfPrivateKey
、beneficiaryAddress
を空にすれば良いです。
[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
すると即終了しますが、データが破損します。
コメントを残す