5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Symbol]ラズパイでノードを運用してみよう(Client設定編)

Last updated at Posted at 2022-04-08

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によるノード構築方法は割愛します。

  1. ubuntuにsymbol-bootstrapをインストール
  2. お好みの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とではディレクトリ構造が異なるため、その点を修正します。
また、その他確認すべきプロパティを見ていきます。
各プロパティの意味はこちらが参考になります。

config-database.properties
...
databaseUri = mongodb://127.0.0.1:27017
...

127.0.0.1にしておきます。※mongodbはRest構築編でインストールします。

config-harvesting.properties
harvesterSigningPrivateKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
harvesterVrfPrivateKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

enableAutoHarvesting = true
maxUnlockedAccounts = 50
delegatePrioritizationPolicy = Importance
beneficiaryAddress = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ハーベスト設定です。

config-node.properties
...
host = <ラズパイノードのドメインまたはIP>
friendlyName = <任意のノードの名前>
version = 1.0.3.3
roles = Peer,Api
...

ノードの基本情報です。

config-user.properties
...
[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ノードとして起動してみます。

/home/ubuntu/symbol/client/catapult/_build/bin
./catapult.server

エラーで異常終了せず、同期を始めたら成功です。

... peer returned 42 blocks (heights 2 - 43)

ctrl-cで停止です。/home/ubuntu/symbol/client/catapult/_build/data/に.lockファイルが残っている場合があるので.lockファイルは削除しておきます。

5
4
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
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?