Executionクライアントまたはコンセンサスクライアントの変更

通常の状況では、Rocket Poolノードを最初に作成する際にExecutionクライアントとコンセンサスクライアントを選択し、ノードの稼働期間中はそのまま使い続けることになるでしょう。 しかし、クライアントの選択を変更したい状況がいくつかあります。 以下にいくつかの例を示します。

  • 使用中のクライアントがExecutionチェーンまたはBeaconチェーンでスーパーマジョリティシェアを獲得し、ネットワーク全体の健全性のために変更したい場合
  • バグによってクライアントが正常に機能しなくなり、検証業務を再開するために早急にオンラインに戻る必要がある場合
  • 別のクライアントが提供する新機能を試したい場合
  • 別のクライアントがノードのハードウェアにより適している場合(例: 一部のクライアントは他のクライアントよりもARMシステムで優れています)

幸いなことに、Smartnodeスタックではクライアントの変更が非常に簡単です。 必要なのは、Configuration TUIでいくつかの変更を行うことと、クライアントを変更する前に既存のクライアントデータをバックアップするためのオプションのコマンドだけです。

Executionクライアントの変更

Executionクライアントを変更する前に、以下の点に注意してください。

  • チェーンデータはクライアント間で共有されません。新しいクライアントはMainnetチェーンデータを再同期する必要があり、これには時間がかかる場合があります(ただし、各クライアントはスナップ同期をサポートしており、Smartnodeはこれを使用して再同期を高速化します)。
  • デフォルトでは、Smartnodeは古いクライアントのチェーンデータをドライブに残すため、古いExecutionクライアントに戻して中断したところから再開できます。Executionクライアントは数百ギガバイトを使用する可能性があるため、クライアントを変更する前に別の場所にエクスポートしてスペースを解放することをお勧めします。これを行う手順は以下に記載しています。
  • 新しいクライアントが再同期している間、Smartnode CLIの機能のほとんどはExecutionクライアントに依存しているため、オフラインになります。これを行う前に、Smartnodeのダウンタイムを軽減するためにフォールバックExecutionクライアントを用意しておく必要があります。

(オプション) Executionクライアントのデータベースをエクスポートする

プロセスの最初のステップはオプションです。必要に応じて、現在のExecutionクライアントの既存のチェーンデータをエクスポートできます。 これにより、新しいExecutionクライアント用のノードの貴重なディスクスペースを解放でき、古いクライアントに戻して中断したところから再開したい場合に備えて、古いチェーンデータを保持できます。

詳細については、ノードのバックアップガイドを参照してください。

選択したExecutionクライアントを変更する

選択したクライアントを変更するには、rocketpool service configを実行して設定UIに入ります。 Execution Client (ETH1)セクションに移動し、Execution Clientドロップダウンを選択します。

Enterでドロップダウンを開き、矢印キーを使用して選択したいクライアントに移動し、もう一度Enterを押して選択を確定します。

各クライアントには独自の設定があるため、別のクライアントを選択すると、この画面に追加の設定が表示される場合があります。 それらを自由に探索して、どのように影響するかを確認してください。

選択に満足したら、Escを押してメインメニューに戻り、Tabを押してReview Changes and Saveボタンをハイライトします。 レビュー画面が表示され、クライアント選択の変更が表示されます。

Enterを押して変更を承認すれば完了です。 新しいExecutionクライアントはすぐに同期を開始します。 通常通り、rocketpool service logs eth1で確認できます。 エラーがなく、正しく動作することを確認するために、これを行うことをお勧めします。

注意

Executionレイヤーとコンセンサスレイヤーがマージされたため、Executionクライアントを停止すると、Executionクライアントが再同期を完了するまでコンセンサスクライアント停止します。 これは、ノードがアテステーションとブロック提案を停止し、ETHを獲得する代わりにリークすることを意味します。

これを回避し、Executionクライアントの再同期中も検証を続けるには、フォールバックノードを設定してください

(推奨) 古いチェーンデータを削除する

これは必須のステップではありませんが、新しいクライアントに切り替えた後、古いクライアントのチェーンデータを削除してディスクスペースを解放することを強くお勧めします

これを行うには、次のコマンドを実行するだけです。

rocketpool service resync-eth1

これにより、すべてのExecutionクライアントデータが削除され、最初からやり直されます。

ヒント

新しいExecutionクライアントを選択したばかりなので、これによる影響はありません。基本的に、古いチェーンデータを削除するだけです。 新しいクライアントの不必要な進行の損失を防ぐために、クライアントを切り替えた後できるだけ早くこれを行う必要があります。

コンセンサスクライアントの変更

チェックポイント同期のおかげで、コンセンサスクライアントの変更はExecutionクライアントよりもさらに簡単です。 この機能により、新しいコンセンサスクライアントをネットワークと即座に同期できるため、古いチェーンデータを保持する必要はありません。

まず、rocketpool service config UIを使用してConsensus Client (ETH2)セクションに移動します。 次に、Consensus Clientドロップダウンを選択します。

Enterでドロップダウンを開き、矢印キーを使用して選択したいクライアントに移動し、もう一度Enterを押して選択を確定します。

各クライアントには独自の設定があるため、別のクライアントを選択すると、この画面に追加の設定が表示される場合があります。 それらを自由に探索して、どのように影響するかを確認してください。

次に、チェックポイント同期プロバイダーを使用していることを確認します。

チェックポイント同期プロバイダーが設定されていない場合、こちらの手順を使用して無料で簡単に設定できます

選択に満足したら、Escを押してメインメニューに戻り、Tabを押してReview Changes and Saveボタンをハイライトします。 レビュー画面が表示され、クライアント選択の変更が表示されます。

Enterを押して変更を承認すれば完了です。 新しいコンセンサスクライアントはすぐに同期を開始します。 通常通り、rocketpool service logs eth2で確認できます。 エラーがなく、正しく動作することを確認するために、これを行うことをお勧めします。