フォールバックノードの指定

Smartnodeスタックの1.5.0以降、プライマリクライアントがオフラインになった場合(Gethを使用していてプルーニングが必要な場合など)に、代わりに引き継ぐことができる「フォールバック」ExecutionクライアントとConsensusクライアントのペアを提供できます。 この状況では、プライマリノードマシンは依然としてmegapoolのvalidatorキーを使用したアテステーションとブロック提案を担当しますが、ExecutionレイヤーとBeaconチェーンとのやり取りには外部マシンに接続します。

基本的に、チェーンのクエリ、トランザクションの送信、アテストするブロックの受信などのために、別のクライアントペアを一時的に使用できるようにします。 このペアは外部で管理することも(Hybridモードのように)、別のRocket Poolノード(APIポートを公開しているDocker modeマシン。以下で説明します)にすることもできます。

ノードのプライマリクライアントが再びオンラインになると、SmartnodeとValidator clientは自動的にそれらに切り替わります。

注記

フォールバックノードは「バックアップ」ノードとは異なります。 フォールバックノードにはチェーンに同期されて実行中のExecutionクライアントとConsensusクライアントのペアがありますが、ノードのウォレットやvalidatorキーはロードされていません

メインノードがオフラインになっても、フォールバックが代わりに検証を開始することはありません

サポートされているクライアント

v1.9.0以降、サポートされているすべてのvalidatorクライアントにフォールバックサポートが追加されており、いくつかの制限があるのみです。

名前フォールバックサポート有効なフォールバッククライアント
Lighthouseはい任意(doppelganger protection無効時)
Lighthouse(doppelganger protection有効時)
Nimbusはい任意
PrysmはいPrysm
Tekuはい任意
Lodestarはい任意

新しいノードのセットアップ(Docker Mode)

フォールバックノードとして、ローカルで所有する2台目のマシン、VPSでホストされているリモートノード、またはクラウドベースのノードを使用できます。

この例では、Docker modeを使用して別のマシンに2台目のSmartnodeを作成する方法を示します。これはフォールバックノードとして機能します。

ヒント

すでに2台目のノードの準備ができていて、RPCポートを公開している場合は、このセクションをスキップしてください。

  1. ノードのセットアップガイド(ローカルまたはリモート)の手順に従ってください。

  2. マシンの準備ができたら、Smartnodeスタックをインストールします。

  3. rocketpool service configを実行して、使用したいクライアントを指定します。

    1. ウィザードの最後で設定を確認するかどうか尋ねられたら、Yesを選択します。
    2. Execution Client設定に入ります。
    3. Expose RPC Portsボックスをチェックします。
    1. 戻ってConsensus Client設定に入ります。 5. Expose API Portボックスをチェックします(Prysmを使用している場合は、Expose RPC Portボックスもチェックします)。
    1. 設定を保存してSmartnodeを起動します。
  4. ノードの保護ガイドにスキップして、SSHと適切なセキュリティ体制を設定します。

    1. ufwがインストールされている場合、APIポート(デフォルトでは854585465052Prysmを使用している場合は5053も)への着信トラフィックを許可するルールを追加する必要があります。
  5. 以上です。ここで停止できます。

注記

rocketpool wallet initでウォレットを作成したり、古いウォレットを復元しないでください。 このノードにはウォレットもvalidatorキーもない状態のままにしてください。

その唯一の仕事は、同期されたExecutionクライアントとConsensusクライアントを持つことです。

メインノードをフォールバックノードに接続する

フォールバックノードの準備ができたら、メインノードに接続できます。

  1. rocketpool service config TUIに入り、Fallback Clients設定に入ります。
  2. Use Fallback Clientsボックスをチェックします。
  3. Execution Client URLボックスにExecutionクライアントのRPC URLを入力します。例えば、フォールバックノードのIPアドレスが192.168.1.45で、Executionクライアントがデフォルトポート8545にある場合、ここにhttp://192.168.1.45:8545と入力します。
  4. フォールバックConsensusクライアントのRPC URLについても同様に行います。同じ例に従って、デフォルトポート5052にある場合、ここにhttp://192.168.1.45:5052と入力します。

最終ページは次のようになります。

注記

Nativeモードユーザーも同じ手順に従うことができますが、TUIは上のスクリーンショットとは少し異なって見えます。

これはSmartnode自体(デーモンサービス)にのみフォールバックサポートを提供することに注意してください。Validator clientサービスにフォールバッククライアントへのアクセスを提供するには、引数を手動で更新する必要があります

最後のボックスでenterを押して確認し、設定を保存して変更を適用します。

適用されたら、rocketpool node syncコマンドを使用してフォールバックノードの可用性を確認できます。

Your Smartnode is currently using the Ethereum Mainnet.

Your eth2 client is on the correct network.

Your primary execution client is fully synced.
Your fallback execution client is fully synced.
Your primary consensus client is fully synced.
Your fallback consensus client is fully synced.

フォールバックのExecutionクライアントとConsensusクライアントの両方が同期されていることが表示されれば、準備完了です。

フォールバッククライアントのテスト

フォールバッククライアントをテストして設定が正しく機能することを絶対に確認したい場合は、メインノードのExecutionクライアントとConsensusクライアントを停止してください。

docker stop rocketpool_eth1 rocketpool_eth2

次に、rocketpool network statsなどのチェーンをクエリするコマンドを実行します。 プライマリクライアントの一方(または両方)がオフラインであり、フォールバッククライアントに切り替えていることを示す警告メッセージが上部に表示されます。

NOTE: primary clients are not ready, using fallback clients...
 Primary EC status: unavailable (Sync progress check failed with [Post "http://eth1:8545": dial tcp: lookup eth1 on 127.0.0.11:53: no such host])
 Primary CC status: unavailable (Sync progress check failed with [Could not get node sync status: Get "http://eth2:5052/eth/v1/node/syncing": dial tcp: lookup eth2 on 127.0.0.11:53: no such host])

========== General Stats ==========
Total Value Locked:          1196.926316 ETH
Deposit Pool Balance:        23.586761 ETH
Minipool Queue Demand:       0.000000 ETH
Deposit Pool ETH Used:       6.809609%

============== Nodes ==============
Current Commission Rate:     5.000000%
Node Count:                  16
Active Minipools:            36
    Initialized:             0
    Prelaunch:               0
    Staking:                 36
    Withdrawable:            0
    Dissolved:               0
Finalized Minipools:         30

=========== Megapools ============
Megapool contracts deployed: 10
Total megapool validators:  86
     Staking:                51
     In Prestake:            6
     In Queue:               10
     Exited:                 14
     Locked:                 1
     Exiting:                2
     Dissolved:              2

========== Smoothing Pool =========
Contract Address:            0xE8D1136ac49DBe6ac8f299130253004DC63841a1
Nodes Opted in:              3
Pending Balance:             0.000000

============== Tokens =============
rETH Price (ETH / rETH):     1.185477 ETH
RPL Price (ETH / RPL):       0.000639 ETH
Total RPL staked:            33406.127068 RPL
Total Megapool RPL staked:   11406.127068 RPL
Total Legacy RPL staked:     22000.000000 RPL

最後に、プライマリクライアントを再起動します。

docker start rocketpool_eth1 rocketpool_eth2

完了です。 フォールバックセットアップが機能しています。

次のステップ

フォールバックノードをセットアップで作成・実行することを選択したかどうかに関わらず、次のステップはpriority feesについて学ぶことです。 準備ができたら、ガイドの次のセクションをクリックしてください。