セキュリティ強化のために、プロキシアカウントを介して新しいブロックのハーベスティングします。
リモートハーベスティング は ノード所有者 に、ノード設定ファイルにメインアカウントの秘密鍵を 公開せずに 新しいブロックの生成報酬を受け取ることができます。
注釈
ブロックはノードだけがハーベストできます。ノードは所有していないが、ハーベスティング手数料を受け取りたい場合は デリゲートハーベスティング で ノードにハーベスティングをリクエスト します。
このガイドでは 2つのセクション があり、 Symbol Bootstrap を使用して、または手動でノードを構築したかによります。
ノードの立ち上げ ガイドに従った場合は、ノードを構築する際に Symbol Bootstrap を使用したはずです。 すぐに使用できるプリセットにより、デフォルトでリモートハーベスティングが可能になる ので、そのガイドに従い、ハーベスティングを有効にした場合は、何もする必要はありません。
明確にするために、 Symbol Bootstrap はリモートアカウント (addresses.yml
ファイルで remote
とラベル付けされている) を自動的に作成し、それを新しいブロックの署名者として設定します。 (harvesterSigningPrivateKey
プロパティの秘密鍵を使用) 次に symbol-bootstrap link
コマンドは、アクティベーションを完了するために必要な VrfKeyLinkTransaction トランザクションをアナウンスします。
注釈
注目すべき点として 非推奨です が カスタムプリセットファイル のこの行を使用して、リモートアカウントを省略し メインアカウントで直接 新しいブロックに署名できます:
nodeUseRemoteAccount: false
メインアカウントの秘密鍵はノード設定ファイルに存在し、ノードに侵入されたはアクセスされる恐れがあることは言うまでもありません。
If you have deployed a node yourself, for example by following the catapult-client instructions, then you have to enable harvesting manually.
The catapult-client documentation explains how to enable local harvesting, which stores your main account's private key on the client. This section explains how to enable remote harvesting instead, which uses a proxy account and is therefore much more secure.
これは symbol-cli ツールを使用して実行されます。必要な手順は次のとおりです:
ノード設定にハーベスタとして リモートアカウント を設定します。
メインとリモートアカウントのリンクに AccountKeyLinkTransaction をアナウンスします。
(任意) VRFアカウント が未設定の場合は構成を行います。
リモートアカウント として機能する新しいアカウントを作成します。このアカウントは トランザクションを送受信したことがない 必要があり、リモートアカウントとして機能している間はトランザクションに関与できないため、最初から作成するのが最も安全です。
これをターミナルで実行します:
catapult.tools.addressgen --network public
# Change the network type to suit your needs
symbol-cli account generate
# Do NOT save the account, and set the import type to PrivateKey
新規アカウントの 公開鍵 と 秘密鍵 を書き留めてください。
Now edit the config-harvesting.properties
file (it should be in a resources
directory if you followed the catapult-client instructions). Look for the harvesterSigningPrivateKey
field and write the remote account's private key.
メインアカウントをデフォルトプロファイルとして symbol-cli を設定してください。 (そうでない場合は --profile
パラメータを使用します)
このコマンドをターミナルで実行します:
symbol-cli transaction accountkeylink --action Link -u <PUBLIC-REMOTE-KEY> --sync
ステップ 1 で取得した <PUBLIC-REMOTE-KEY>
を使用します。 --sync
パラメータは、トランザクションが承認されるまで待機します。このトランザクションをアナウンスするために支払う手数料は 手数料ドキュメント を確認してください。
すべての 適格アカウント は VRF キーを登録する必要があります。 config-harvesting.properties
ファイルの harvesterVrfPrivateKey
フィールドを確認してください。すでに入力されている場合はこの手順をスキップできます。
それ以外の場合は、手順 1 と同じように別のアカウントを作成して、VRF アカウントとします。
catapult.tools.addressgen --network public
# Change the network type to suit your needs
symbol-cli account generate
# Do NOT save the account, and set the import type to PrivateKey
構成ファイルの harvesterVrfPrivateKey
フィールドに 秘密鍵 を書き込み、VRF とメインアカウントをリンクするために VrfKeyLinkTransaction をアナウンスします:
symbol-cli transaction vrfkeylink --action Link -u <PUBLIC-VRF-KEY> --sync
これでノードはリモートハーベスティング構成になりました。ただし、次の重要な点に注意してください。
インポータンスが高いアカウントは、ハーベスティングを実行するためにより頻繁に選択されます。正常にリモートハーベスティングを有効にしても、メインアカウントの インポータンススコア が十分に高くない限りは、ブロックをハーベストする (手数料報酬を受け取る) ことはありません。
インポータンススコアの計算は継続的に行われません。デフォルトでは、アカウントインポータンススコアは、1440 ブロックごと (約 12 時間ごと) に再計算されます。 ネットワークプロパティの設定 ガイドの importanceGrouping
プロパティを参照してください。