ノード構築をなんとなくやってませんか?
私はなんとなくでやってます。そろそろカスタムプリセットで設定できる項目について調べてみたので、アドベントカレンダーの場を借りて記事にします。
コンフィグから各サーバーの動作を知る手がかりになればと思いながら調べています。
※随時更新予定です。
この辺りの項目がプリセットで上書きされていく感じですね。
configuring node properties
gihub symbol-sdk preset guide
Restノードのスロットリング(アクセス制限)
いろいろな方の設定値を拝見していると平常時40、バースト時80くらいが良さそうですね。
throttlingRateは公式サンプルでは1000となっていますが、この設定合っているのでしょうか?
throttlingBurst: 80
throttlingRate: 40
このあたりで設定されています。
catapult-rest/bootstrapper.js at 15922d068158aa49a6e62feb4a2a6681e8762665 · nemtech/catapult-rest · GitHub
ノードのfee設定
手数料を徴収しないこともできるようですね。
minFeeMultiplier: 0
ここを見るとデフォルトが0のようですね。
RESTゲートウェイを開くかどうか
外部に開放したくない場合に使うようです。
gateways:
- openPort: false
ノード名とホスト名
ノードリスト (testnet)で確認できますね。
複数ノードをアップデートすることもできるようです
nodes:
- friendlyName: My node custom friendly name
host: 'myNode.custom.hostname'
ハーベスティング系の設定
いずれも自分のものを入れておくと良いかと思います。
署名用の秘密鍵については説明不要かと思います。
nodes:
- voting: true
signingPrivateKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
vrfPrivateKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
votingPrivateKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
voting,votingキーとは?
ファイナライズの際にノードによる投票(voting)が行われます。
こちらに参加するかどうかとどのキー(votingPrivateKey)を使うかを指定するか決めることができます。
vrfキーとは?
こちらは「テストノードを建ててハーベスティングまで〜系の記事」に出てきますね。
ハーベスティングに必要なものです。
vrfキーには以下の目指せ北海道さんの記事にあるようにジェネレーションハッシュを、vrfキーによってランダムで予測不能な値にすることができる
役割があり、それによってハーベストアカウントを予測不可能なものにします。
【NEM技術勉強会】8.4 ブロックジェネレーションハッシュ 8.5 ブロックのHit値とTarget値【Symbol白書】
上記2つのキーは以下のコマンドでリンクトランザクションを発行します。
symbol-bootstrap link
設定変更のあとは?
symbol-bootstrap run のドキュメントによると --resetData
をつけてあげるとkey等の情報はそのままDBを作り直してくれるそうです。