Raspberry PiでSymbolのdualノードを構築、ハーベスト設定、HTTPS化、運用まで。
本記事ではClientにSymbolメインネットのノードの設定を行いハーベスト有効化までを扱います。
Client構築編:Clientインストールまで
Client設定編:ハーベスト設定まで <- 今ここ
Rest構築編:HTTPS化まで
メンテナンス編:HA構成、アップグレードetc
正攻法はやめた
github上のドキュメントにはひとつひとつ丁寧に設定していく方法が記載されています。
symbol-node-configuratorやsymbol-cliといったツールが必要です。
本記事では別手法でsymbol-bootstrapをノードコンフィグ生成ツール、各種メンテナンスツールとして利用します。
このようなメリットがあります。
- symbol-bootstrapはコミュニティ有志による知見や情報が多い
- ノード構築に必要なツールはすべて揃っている
- その時のノード構成のプロパティの値が最適化されている
ノートPC上にbootstrapでノードを構築し構成ファイルをコピーする
ノートPCとそのPC上にUbuntuの仮想マシンを用意してください。
UbuntuにグローバルIPは不要です。ノードのリソース要件も無視して大丈夫です。
bootstrapによるノード構築方法は割愛します。
- ubuntuにsymbol-bootstrapをインストール
- お好みのcustom.ymlを用意し構築する ※ノードを稼働させる必要はありません
仮想マシン上の下記ディレクトリをラズパイ上の/tmp/配下にコピーします。
seed:/.../target/nodes/node/配下
cert:/.../target/nodes/node/配下
resources:/.../target/nodes/node/server-config/配下
構成ファイルを配置する
配置します。Clientインストール先は/home/ubuntu/としています。
cd /tmp/
cp -r seed /home/ubuntu/symbol/client/catapult/_build
cp -r cert /home/ubuntu/symbol/client/catapult/_build
cp resources/* /home/ubuntu/symbol/client/catapult/_build/resources
構成ファイルを編集する
構成ファイルは/home/ubuntu/symbol/client/catapult/_build/resourcesにあるファイル群です。
bootstrapとではディレクトリ構造が異なるため、その点を修正します。
また、その他確認すべきプロパティを見ていきます。
各プロパティの意味はこちらが参考になります。
...
databaseUri = mongodb://127.0.0.1:27017
...
127.0.0.1にしておきます。※mongodbはRest構築編でインストールします。
harvesterSigningPrivateKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
harvesterVrfPrivateKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
enableAutoHarvesting = true
maxUnlockedAccounts = 50
delegatePrioritizationPolicy = Importance
beneficiaryAddress = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ハーベスト設定です。
...
host = <ラズパイノードのドメインまたはIP>
friendlyName = <任意のノードの名前>
version = 1.0.3.3
roles = Peer,Api
...
ノードの基本情報です。
...
[storage]
seedDirectory = /home/ubuntu/symbol/client/catapult/_build/seed
certificateDirectory = /home/ubuntu/symbol/client/catapult/_build/cert
dataDirectory = /home/ubuntu/symbol/client/catapult/_build/data
pluginsDirectory = /home/ubuntu/symbol/client/catapult/_build/bin
votingKeysDirectory = /home/ubuntu/symbol/client/catapult/_build/votingkeys
ノード実行に必要な各種ファイルへのパスです。正しく設定してあげます。
ハーベスト有効化
ノートPC上のbootstrapに戻ります。有効化にするトランザクションをbootstrapを用いて発生させます。あらかじめSymbol Node Listなどを参照し、お好きなAPIノードのドメインをメモっておきます。
symbol-bootstrap link --url https://<メモったもの>:3001
試しに起動してみる
ラズパイに戻ります。
Catapult-Restを構築していないためPeerノードとして起動してみます。
./catapult.server
エラーで異常終了せず、同期を始めたら成功です。
... peer returned 42 blocks (heights 2 - 43)
ctrl-cで停止です。/home/ubuntu/symbol/client/catapult/_build/data/に.lockファイルが残っている場合があるので.lockファイルは削除しておきます。