Vorbereitung des Betriebssystems
Wie im vorherigen Abschnitt beschrieben, gibt es viele verschiedene VPS- und Cloud-Anbieter. Anleitungen für alle zu schreiben wäre etwas unpraktisch, aber in diesem Abschnitt werden wir einen typischen Workflow zur Vorbereitung einer virtuellen Maschine durchgehen, die auf Amazon Web Services gehostet wird. Insbesondere werden wir behandeln, wie Sie die geeignete virtuelle Hardwarekonfiguration auswählen und wie Sie das Betriebssystem für Rocket Pool vorbereiten. Sie sollten in der Lage sein, diese Schritte auf jeden Anbieter zu übertragen, sobald Sie mit dessen Ökosystem vertraut sind.
Erstellen einer EC2 Virtual Machine
Der erste Schritt besteht darin, ein AWS-Konto zu erstellen, falls Sie noch keines haben. Folgen Sie den Anweisungen unter diesem Link oder melden Sie sich mit einem bestehenden Konto an, und Sie werden schließlich zu Ihrem Management-Console-Dashboard gelangen:
Klicken Sie als Nächstes auf das Dropdown-Menü oben rechts auf dem Bildschirm, um die geografische Region auszuwählen, in der sich Ihr Server physisch befinden soll. Server können nach ihrer Erstellung nicht zwischen Regionen verschoben werden, daher sollten Sie sicherstellen, dass Sie mit der aktuell ausgewählten Option zufrieden sind, bevor Sie den Server tatsächlich erstellen.
Klicken Sie nun auf Services in der Symbolleiste. Gehen Sie zum Abschnitt Compute und wählen Sie EC2. Ihr Dashboard sollte sich zu einer Ansicht ähnlich dieser ändern:
Klicken Sie auf die orangefarbene Schaltfläche Launch Instance und wählen Sie Launch Instance aus der Liste der Optionen, um eine neue Maschine zu erstellen. Sie werden mit einem Marktplatz von Amazon Machine Images konfrontiert. Jedes davon repräsentiert einen spezifischen Snapshot einer Maschine mit einem vorinstallierten Betriebssystem und einigen anderen nützlichen Softwarekomponenten.
Für einen Rocket Pool Node empfehlen wir die Verwendung des Ubuntu Server 24.04 LTS (HVM) Image.
Als Nächstes müssen Sie einen Instance Type auswählen. Dieser bestimmt, welche virtuellen Hardwareressourcen Ihrer Maschine zur Verfügung stehen.
Zum Zeitpunkt der Erstellung dieses Dokuments bieten die verschiedenen Optionen Folgendes:
Die Hardwareanforderungen hängen weitgehend davon ab, welchen Consensus Client Sie ausführen möchten - Nimbus benötigt beispielsweise weniger als 1 GB RAM für sich selbst, sodass es durchaus vernünftig ist, ihn auf einer t2.large Instanz auszuführen. Für RAM-intensivere Clients möchten Sie möglicherweise eine t2.xlarge Instanz für zusätzlichen Spielraum wählen.
Sie sollten möglicherweise den Abschnitt Auswahl Ihrer ETH Clients konsultieren, bevor Sie sich für einen Instance Type entscheiden, damit Sie sicherstellen können, dass der gewünschte Client vom ausgewählten Instance Type unterstützt wird.
Sobald Sie Ihre Wahl getroffen haben, klicken Sie auf die Schaltfläche Next. Die Standardeinstellungen sind alle in Ordnung für den Bereich Instance Details, lassen Sie sie also in Ruhe und klicken Sie auf Next.
Wenn Sie beim Bereich Add Storage ankommen, erstellen Sie eine neue virtuelle Festplatte für Ihr System. Diese kann später dank der Macht der Cloud erweitert werden, sodass es nicht absolut kritisch ist, jetzt die richtige Zahl zu bekommen. Jedoch sollten Sie die Größe der Beruhigung wegen auf eine der folgenden Zahlen ändern:
- Verwenden Sie mindestens 100 GiB, wenn Sie Rocket Pool nur im Hoodi Test Network ausprobieren.
- Verwenden Sie mindestens 1 TiB (vorzugsweise 2 TiB), wenn Sie diesen Node im Haupt-Ethereum-Netzwerk (mainnet) verwenden werden.
Belassen Sie die Standardwerte für die anderen Einstellungen und klicken Sie auf Next.
Im Schritt Add Tags sollten Sie auf die Schaltfläche click to add a Name tag klicken und ihm einen leicht zu merkenden Namen geben, den Sie später zur Identifizierung des Servers verwenden können; etwas wie Rocket Pool Smartnode funktioniert, wenn Sie Inspiration benötigen. Klicken Sie auf Next, wenn Sie fertig sind.
Im Bereich Security Group lassen Sie die Option Create a new security group ausgewählt. Geben Sie einen Namen und eine Beschreibung wie Smartnode und Smartnode Group ein. Entfernen Sie alle vorhandenen Regeln in der Tabelle und fügen Sie die folgenden Regeln hinzu:
Dies ermöglicht es Ihnen, sich per SSH (das Kommandozeilen-Terminal) von Ihrem Laptop oder Desktop aus mit Ihrem Server zu verbinden. Es ermöglicht auch den Execution und Consensus Clients, sich mit anderen Nodes im Ethereum-Netzwerk zu verbinden.
Für SSH-Zugriff funktioniert dies nur, wenn Sie eine statische öffentliche IP-Adresse haben. Sie müssen dies wahrscheinlich von Ihrem ISP anfordern, da viele von ihnen ein dynamisches IP-System verwenden und Ihre öffentliche Adresse gelegentlich ändern. Wenn Sie keine statische Adresse beschaffen können, müssen Sie zur AWS-Konsole gehen und diese Einstellung mit Ihrer neuen IP-Adresse aktualisieren, jedes Mal wenn sie sich ändert.
Die Security Group Tabelle sollte jetzt so aussehen:
Überprüfen Sie nun alle Instanzdetails, um sicherzustellen, dass Sie damit zufrieden sind, und klicken Sie auf Launch, wenn Sie zufrieden sind.
Wenn die SSH key pair Eingabeaufforderung erscheint, wählen Sie Create a new key pair.
Geben Sie ihm einen einprägsamen Namen wie Smartnode Key, und klicken Sie dann auf Download Key Pair.
Speichern Sie diese Dateien an einem sicheren Ort, wie z.B. ~/.ssh/ (oder C:\Users\[Ihr Benutzername]\.ssh\ unter Windows), wo Ihre anderen Schlüssel üblicherweise gespeichert sind.
Dieses Schlüsselpaar enthält den privaten Schlüssel, den Sie für SSH auf Ihre Maschine verwenden werden. Wenn jemand in den Besitz dieses Schlüssels gelangt, hat er vollständigen Zugriff auf Ihren Node - einschließlich Ihrer Rocket Pool Node Wallet und aller darin enthaltenen Coins. Sie müssen diese Datei jederzeit sicher aufbewahren.
Als Nächstes klicken Sie auf Launch Instance, um Ihren neuen virtuellen Server zu erstellen. Wenn eine Benachrichtigung erscheint, klicken Sie auf View Instances, um zu Ihrer Liste von Servern zu gelangen. Sie sehen dort Ihren Rocket Pool Node mit einigen begleitenden Details zu seiner Konfiguration und seinem Status.
Schließlich weisen Sie Ihrer Maschine eine Elastic IP Address zu - Sie können sich das wie eine statische IP-Adresse vorstellen, die exklusiv für AWS ist. Ihr Node wird immer unter dieser Adresse erreichbar sein, sodass Sie immer denselben SSH-Befehl verwenden können, um sich damit zu verbinden.
Gehen Sie zu Network and Security im Navigationsbereich links und klicken Sie auf Elastic IPs. Klicken Sie nun auf Allocate Elastic IP Address. Die Standardeinstellungen sind alle in Ordnung, klicken Sie also einfach durch die Eingabeaufforderungen und kehren Sie zur Liste zurück, wenn Sie fertig sind.
Als Nächstes wählen Sie die neue Adresse in der Liste aus. Klicken Sie auf die Schaltfläche Actions darüber und dann auf Associate Elastic IP Address. Belassen Sie den Ressourcentyp auf Instance und wählen Sie die Rocket Pool Smartnode Instanz aus, die Sie gerade erstellt haben, aus der Liste. Klicken Sie auf Associate, um die Adresse Ihrem virtuellen Server zuzuweisen. Wenn Sie nun unter der Spalte Associated Instance ID der Adresse nachsehen, können Sie überprüfen, ob Ihre Maschine ihr zugewiesen ist.
Zugriff auf die Maschine
Um auf die Maschine zuzugreifen, öffnen Sie ein neues Terminal unter Linux oder macOS (verwenden Sie Powershell unter Windows) und geben Sie den folgenden Befehl ein:
Wenn Sie Ihre Schlüssel im .ssh Ordner gespeichert haben, wird dies das private Schlüsselpaar verwenden, das Sie während der Einrichtung generiert haben, um sich automatisch bei der Maschine zu authentifizieren - keine Benutzernamen, keine Passwörter.
Sobald Sie hier sind, haben Sie vollständigen Terminalzugriff auf das System.
Einrichtung von Swap Space
In den meisten Fällen sollten Sie nicht ohne RAM auskommen, wenn Sie Ihre Execution und Consensus Clients und Ihren Instance Type sorgfältig auswählen. Andererseits schadet es nie, ein wenig mehr hinzuzufügen. Was wir jetzt tun werden, ist das Hinzufügen von sogenanntem Swap Space. Im Wesentlichen bedeutet dies, dass wir die SSD als "Backup-RAM" verwenden werden, falls etwas schrecklich, schrecklich schief geht und Ihr Server keinen regulären RAM mehr hat. Die SSD ist nicht annähernd so schnell wie der reguläre RAM, sodass es die Dinge verlangsamen wird, wenn sie den Swap Space erreicht, aber es wird nicht vollständig abstürzen und alles kaputt machen. Betrachten Sie dies als zusätzliche Versicherung, die Sie (höchstwahrscheinlich) niemals benötigen werden.
Erstellen einer Swap-Datei
Der erste Schritt besteht darin, eine neue Datei zu erstellen, die als Ihr Swap Space fungiert. Entscheiden Sie, wie viel Sie verwenden möchten - ein vernünftiger Anfang wären 8 GB, sodass Sie 8 GB normalen RAM und 8 GB "Backup-RAM" für insgesamt 16 GB haben. Um ganz sicher zu gehen, können Sie 24 GB einrichten, sodass Ihr System 8 GB normalen RAM und 24 GB "Backup-RAM" für insgesamt 32 GB hat, aber das ist wahrscheinlich übertrieben. Glücklicherweise ist es angesichts dessen, dass Ihre SSD 1 oder 2 TB Speicherplatz hat, vernachlässigbar, 8 bis 24 GB für eine Swap-Datei zuzuweisen.
Wählen wir für diese Anleitung einen schönen Mittelweg - sagen wir 16 GB Swap Space für insgesamt 24 GB RAM. Ersetzen Sie einfach die gewünschte Zahl, während wir fortfahren.
Geben Sie Folgendes ein, wodurch eine neue Datei namens /swapfile erstellt und mit 16 GB Nullen gefüllt wird.
Um die Menge zu ändern, ändern Sie einfach die Zahl in count=16 auf das, was Sie möchten. Beachten Sie, dass dies sehr lange dauern wird, aber das ist in Ordnung.
Legen Sie als Nächstes die Berechtigungen fest, sodass nur der Root-Benutzer sie lesen oder schreiben kann (aus Sicherheitsgründen):
Markieren Sie sie nun als Swap-Datei:
Aktivieren Sie sie nun:
Fügen Sie sie schließlich zur Mount-Tabelle hinzu, damit sie beim Neustart Ihres Servers automatisch geladen wird:
Fügen Sie am Ende eine neue Zeile hinzu, die so aussieht:
Drücken Sie Ctrl+O und Enter zum Speichern, dann Ctrl+X und Enter zum Beenden.
Um zu überprüfen, ob sie aktiv ist, führen Sie diese Befehle aus:
Ihre Ausgabe sollte oben so aussehen:

Wenn die zweite Zahl in der letzten Zeile mit der Bezeichnung Swp (die nach dem /) nicht Null ist, dann sind Sie fertig.
Wenn es beispielsweise 0K / 16.0G anzeigt, wurde Ihr Swap Space erfolgreich aktiviert.
Wenn es 0K / 0K anzeigt, hat es nicht funktioniert und Sie müssen bestätigen, dass Sie die vorherigen Schritte korrekt eingegeben haben.
Drücken Sie q oder F10, um htop zu beenden und zum Terminal zurückzukehren.
Konfiguration von Swappiness und Cache Pressure
Standardmäßig wird Linux eifrig viel Swap Space verwenden, um etwas Druck vom RAM des Systems zu nehmen. Das wollen wir nicht. Wir möchten, dass es den gesamten RAM bis zur letzten Sekunde verwendet, bevor es sich auf SWAP verlässt. Der nächste Schritt besteht darin, die sogenannte "Swappiness" des Systems zu ändern, die im Grunde angibt, wie eifrig es ist, den Swap Space zu verwenden. Es gibt viele Debatten darüber, auf welchen Wert dies gesetzt werden soll, aber wir haben festgestellt, dass ein Wert von 6 gut genug funktioniert.
Wir möchten auch den "Cache Pressure" heruntersetzen, der bestimmt, wie schnell der Server einen Cache seines Dateisystems löscht. Da wir mit unserem Setup viel freien RAM haben werden, können wir dies auf "10" setzen, wodurch der Cache für eine Weile im Speicher belassen wird und Disk-I/O reduziert wird.
Um diese zu setzen, führen Sie diese Befehle aus:
Fügen Sie sie nun in die Datei sysctl.conf ein, damit sie nach einem Neustart erneut angewendet werden:
Fügen Sie diese beiden Zeilen am Ende hinzu:
Dann speichern und beenden Sie wie zuvor (Ctrl+O, Ctrl+X).
Und damit ist Ihr Server betriebsbereit und bereit, Rocket Pool auszuführen! Fahren Sie mit dem Abschnitt Auswahl Ihrer ETH Clients fort.