Angabe einer Fallback-Node

Ab Version 1.5.0 des Smartnode-Stacks können Sie ein "Fallback"-Execution-Client- und Consensus-Client-Paar angeben, das für Ihre primären Clients übernehmen kann, falls diese jemals offline gehen (z.B. weil Sie Geth verwenden und es prunen müssen). In dieser Situation ist Ihre primäre Node-Maschine weiterhin für das Attestieren und Vorschlagen von Blöcken mit den Validator-Schlüsseln Ihres Megapools verantwortlich, aber sie wird sich mit einer externen Maschine verbinden, um mit der Execution-Layer und den Beacon-Chains zu interagieren.

Im Wesentlichen ermöglicht es Ihnen, vorübergehend ein anderes Client-Paar für Dinge wie das Abfragen der Chains, das Senden von Transaktionen und das Empfangen von Blöcken zum Attestieren zu verwenden. Dieses Paar kann extern verwaltet werden (wie im Hybrid-Modus) oder es kann eine andere Rocket Pool Node sein (eine andere Docker-Modus-Maschine, deren API-Ports freigelegt sind, was wir unten behandeln werden).

Sobald die primären Clients Ihrer Node wieder online sind, werden der Smartnode und Ihr Validator-Client automatisch zu ihnen zurückwechseln.

HINWEIS

Eine Fallback-Node ist nicht dasselbe wie eine "Backup"-Node. Fallback-Nodes haben ein Execution- und Consensus-Client-Paar, das mit der Chain synchronisiert ist und läuft, aber sie haben nicht das Wallet Ihrer Node oder ihre Validator-Schlüssel geladen.

Wenn Ihre Haupt-Node jemals offline geht, wird Ihr Fallback nicht für Sie validieren.

Unterstützte Clients

Ab Version 1.9.0 haben alle unsere unterstützten Validator-Clients Fallback-Unterstützung mit nur wenigen Einschränkungen hinzugefügt:

NameUnterstützt FallbackGültige Fallback-Clients
LighthouseJaAlle (Doppelgänger-Schutz aus)
Lighthouse (Doppelgänger-Schutz an)
NimbusJaAlle
PrysmJaPrysm
TekuJaAlle
LodestarJaAlle

Einrichten einer neuen Node (Docker-Modus)

Sie können eine zweite Maschine verwenden, die Sie lokal besitzen, eine entfernte Node auf einem VPS oder eine cloudbasierte Node als Fallback-Node.

Dieses Beispiel zeigt Ihnen, wie Sie einen zweiten Smartnode auf einer anderen Maschine im Docker-Modus erstellen, der als Fallback-Node dienen kann.

TIPP

Wenn Sie bereits eine zweite Node bereit haben und deren RPC-Ports freigelegt sind, können Sie diesen Abschnitt gerne überspringen.

  1. Folgen Sie den Schritten in der Anleitung zum Einrichten einer Node (lokal oder remote).

  2. Sobald die Maschine bereit ist, installieren Sie den Smartnode-Stack.

  3. Führen Sie rocketpool service config aus, um anzugeben, welche Clients Sie verwenden möchten.

    1. Wenn Sie am Ende des Assistenten angelangt sind und gefragt werden, ob Sie Ihre Einstellungen überprüfen möchten, wählen Sie Ja.
    2. Geben Sie die Execution Client-Einstellungen ein.
    3. Aktivieren Sie das Kontrollkästchen Expose RPC Ports:
    1. Gehen Sie zurück und geben Sie die Consensus Client-Einstellungen ein. 5. Aktivieren Sie das Kontrollkästchen Expose API Port (und, falls Sie Prysm verwenden, auch das Kontrollkästchen Expose RPC Port):
    1. Speichern Sie die Einstellungen und starten Sie den Smartnode.
  4. Springen Sie zur Anleitung Sichern Ihrer Node, um SSH und die richtige Sicherheitshaltung einzurichten.

    1. Wenn Sie ufw installiert haben, müssen Sie Regeln hinzufügen, um eingehenden Datenverkehr zu den API-Ports zu erlauben (8545, 8546 und 5052 standardmäßig; auch 5053, falls Sie Prysm verwenden).
  5. Das war's! Sie können hier aufhören.

HINWEIS

Erstellen Sie nicht ein Wallet mit rocketpool wallet init oder stellen Sie Ihr altes Wallet wieder her. Lassen Sie diese Node ohne Wallet und ohne Validator-Schlüssel.

Ihre einzige Aufgabe ist es, einen synchronisierten Execution-Client und Consensus-Client zu haben.

Verbinden Ihrer Haupt-Node mit der Fallback-Node

Sobald Sie eine Fallback-Node vorbereitet haben, können Sie sie mit Ihrer Haupt-Node verbinden.

  1. Geben Sie die rocketpool service config TUI ein und geben Sie die Fallback Clients-Einstellungen ein.
  2. Aktivieren Sie das Kontrollkästchen Use Fallback Clients.
  3. Geben Sie die RPC-URL für Ihren Execution-Client in das Feld Execution Client URL ein. Wenn beispielsweise die IP-Adresse Ihrer Fallback-Node 192.168.1.45 ist und Sie Ihren Execution-Client auf dem Standard-Port 8545 haben, würden Sie hier http://192.168.1.45:8545 eingeben.
  4. Machen Sie dasselbe für die RPC-URL Ihres Fallback-Consensus-Clients. Wenn Sie dem gleichen Beispiel folgen und ihn auf dem Standard-Port 5052 haben, würden Sie hier http://192.168.1.45:5052 eingeben.

Die finale Seite sollte so aussehen:

HINWEIS

Native-Modus-Benutzer können den gleichen Schritten folgen, obwohl die TUI etwas anders aussieht als der obige Screenshot.

Beachten Sie, dass dies nur dem Smartnode selbst (dem Daemon-Service) Fallback-Unterstützung bietet; Sie müssen die Argumente Ihres Validator-Client-Service manuell aktualisieren, um ihm Zugriff auf die Fallback-Clients zu geben.

Drücken Sie Enter auf dem letzten Feld, um sicherzustellen, dass es bestätigt ist, speichern Sie dann die Einstellungen und wenden Sie die Änderungen an.

Sobald sie angewendet wurden, können Sie die Verfügbarkeit Ihrer Fallback-Node mit dem Befehl rocketpool node sync bestätigen:

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.

Wenn es zeigt, dass sowohl der Fallback-Execution- als auch der Consensus-Client synchronisiert sind, sind Sie fertig!

Testen der Fallback-Clients

Wenn Sie absolut sicher sein möchten, dass Ihre Konfiguration funktioniert, indem Sie die Fallback-Clients testen, stoppen Sie einfach die Execution- und Consensus-Clients auf Ihrer Haupt-Node:

docker stop rocketpool_eth1 rocketpool_eth2

Führen Sie dann einen beliebigen Befehl aus, der die Chain abfragt, wie z.B. rocketpool network stats. Sie werden eine Warnmeldung oben sehen, die anzeigt, dass einer (oder beide) Ihrer primären Clients offline sind und auf die Fallback-Clients zurückgegriffen wird:

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

Starten Sie abschließend Ihre primären Clients wieder:

docker start rocketpool_eth1 rocketpool_eth2

Und Sie sind fertig! Ihre Fallback-Einrichtung funktioniert.

Nächste Schritte

Unabhängig davon, ob Sie sich für die Erstellung und/oder den Betrieb einer Fallback-Node für Ihr Setup entschieden haben, ist der nächste Schritt, mehr über Priority-Fees zu erfahren. Klicken Sie auf den nächsten Abschnitt der Anleitung, wenn Sie bereit sind fortzufahren.