Errichten Sie Ihren eigenen Ethereum-Node
Seite zuletzt aktualisiert: 14. Februar 2026
Der Betrieb eines eigenen Nodes bietet Ihnen verschiedene Vorteile, eröffnet neue Möglichkeiten und trägt zur Unterstützung des Ökosystems bei. Diese Seite führt Sie durch die Einrichtung Ihres eigenen Nodes und die Teilnahme an der Validierung von Ethereum-Transaktionen.
Beachten Sie, dass nach The Merge zwei Clients erforderlich sind, um einen Ethereum-Node zu betreiben; ein Client für die Ausführungsebene (EL) und ein Client für die Konsensebene (CL). Auf dieser Seite zeigen wir Ihnen die Installation, Konfiguration und Verbindung dieser beiden Clients, um einen Ethereum-Knoten zu betreiben.
Voraussetzungen
Sie sollten verstehen, was ein Ethereum-Knoten ist und warum Sie ggf. einen Client betreiben sollten. Dies wird unter Nodes und Clients behandelt.
Wenn das Thema für Sie neu ist oder Sie nach einem weniger technischen Weg suchen, empfehlen wir Ihnen, sich zuerst unsere benutzerfreundliche Einführung zum Thema Betrieb eines Ethereum-Nodes anzusehen.
Wahl eines Ansatzes
Der erste Schritt beim Einrichten Ihres Knotens besteht in der Wahl der Herangehensweise. Auf der Grundlage der Anforderungen und der verschiedenen Möglichkeiten müssen Sie die Client-Implementierung (sowohl für Ausführungs- als auch für Konsensclients), die Umgebung (Hardware, System) und die Parameter für die Client-Einstellungen auswählen.
Diese Seite wird Sie dabei unterstützen, diese Entscheidungen zu treffen und die am besten geeignete Methode für den Betrieb Ihrer Ethereum-Instanz zu finden.
Um aus den Client-Implementierungen zu wählen, sehen Sie sich alle verfügbaren Mainnet-fähigen Ausführungs-Clients und Konsens-Clients an und erfahren Sie mehr über Client-Diversität.
Entscheiden Sie, ob Sie die Software auf Ihrer eigenen Hardware oder in der Cloud ausführen möchten, und berücksichtigen Sie dabei die Anforderungen der Clients.
Nachdem Sie die Umgebung vorbereitet haben, installieren Sie die ausgewählten Clients entweder über eine einsteigerfreundliche Oberfläche oder manuell über ein Terminal mit erweiterten Optionen.
Wenn der Node läuft und synchronisiert, sind Sie bereit, ihn zu verwenden, aber achten Sie darauf, seine Wartung im Auge zu behalten.
Umgebung und Hardware
Lokal oder Cloud
Ethereum-Clients können auf gewöhnlichen Heim-Computern ausgeführt werden und benötigen keine spezielle Hardware, wie z. B. Mining-Maschinen. Sie haben also verschiedene Möglichkeiten, den Knoten je nach Ihren Bedürfnissen zu betreiben. Zur Vereinfachung stellen wir uns vor, dass ein Knoten sowohl auf einem lokalen physischen Computer als auch auf einem Cloud-Server ausgeführt werden kann:
- Cloud
- Anbieter bieten eine hohe Serververfügbarkeit und statische öffentliche IP-Adressen
- Ein dedizierter oder virtueller Server kann bequemer sein als ein eigener
- Die Gegenleistung ist das Vertrauen in eine dritte Partei – den Serveranbieter
- Aufgrund der erforderlichen Speichergröße für vollständige Knoten kann der Preis für einen gemieteten Server hoch sein
- Eigene Hardware
- Vertrauenslosere und souveränere Vorgehensweise
- Einmalige Investition
- Option zum Kauf vorkonfigurierter Maschinen
- Sie müssen den Rechner und das Netzwerk technisch vorbereiten, warten und möglicherweise Fehler beheben
Beide Optionen haben verschiedene Vorteile, die oben zusammengefasst sind. Wenn Sie eine Cloud-Lösung suchen, gibt es neben vielen traditionellen Cloud-Computing-Anbietern auch Dienste, die sich auf die Bereitstellung von Knoten konzentrieren. Weitere Optionen für gehostete Nodes finden Sie unter Nodes as a Service.
Hardware
Ein zensurresistentes, dezentrales Netz sollte sich jedoch nicht auf Cloudanbieter verlassen. Stattdessen ist es für das Ökosystem gesünder, wenn Sie Ihren Node auf Ihrer eigenen lokalen Hardware betreiben. Schätzungenopens in a new tab zeigen, dass ein großer Teil der Nodes in der Cloud betrieben wird, was zu einem Single Point of Failure werden könnte.
Ethereum-Clients können auf Ihrem Computer, Laptop, Server oder sogar auf einem Einplatinencomputer ausgeführt werden. Es ist zwar möglich, Clients auf Ihrem Heimcomputer auszuführen, jedoch kann ein eigens für Ihren Knoten eingerichteter Rechner dessen Leistung und Sicherheit erheblich verbessern und gleichzeitig die Auswirkungen auf Ihren primären Computer minimieren.
Die Verwendung Ihrer eigenen Hardware kann sehr einfach sein. Es gibt viele einfache Optionen, aber auch fortgeschrittene Einstellungen für technisch versierte Personen. Schauen wir uns also die Voraussetzungen und Mittel für die Ausführung von Ethereum-Clients auf Ihrem Rechner an.
Anforderungen
Die Hardware-Anforderungen sind je nach Client unterschiedlich, aber im Allgemeinen nicht besonders hoch, da der Knoten nur synchronisiert bleiben muss. Verwechseln Sie das nicht mit dem Mining, das viel mehr Rechenleistung erfordert. Die Synchronisation von Zeit und Leistung verbessert sich jedoch mit leistungsstärkerer Hardware.
Bevor Sie einen Client installieren, stellen Sie bitte sicher, dass Ihr Computer über genügend Ressourcen verfügt, um ihn auszuführen. Im Folgenden finden Sie die Mindestanforderungen und die empfohlenen Voraussetzungen.
Der Engpass für Ihre Hardware ist meist der Speicherplatz. Die Synchronisierung der Ethereum-Blockchain ist sehr ein- und ausgabeintensiv und benötigt viel Speicherplatz. Am besten ist es, ein Solid-State-Drive (SSD) mit Hunderten von GB freiem Speicherplatz zu haben, der auch nach der Synchronisierung noch verfügbar ist.
Die Größe der Datenbank und die Geschwindigkeit der anfänglichen Synchronisierung hängen vom gewählten Client, seiner Konfiguration und Synchronisierungsstrategie ab.
Stellen Sie außerdem sicher, dass Ihre Internetverbindung nicht durch eine Bandbreitenbegrenzungopens in a new tab eingeschränkt ist. Es wird empfohlen, eine nicht gebührenpflichtige Verbindung zu verwenden, da die anfängliche Synchronisierung und die an das Netzwerk übertragenen Daten Ihr Limit überschreiten könnten.
Betriebssystem
Alle Clients unterstützen die wichtigsten Betriebssysteme: Linux, MacOS, Windows. Das bedeutet, dass Ihre Knoten auf normalen Desktop- oder Server-Rechnern mit dem Betriebssystem (OS), welches Ihnen am besten passt, betrieben werden können. Stellen Sie sicher, dass Ihr Betriebssystem auf dem neuesten Stand ist, um mögliche Probleme und Sicherheitslücken zu vermeiden.
Mindestanforderungen
- CPU mit mind. 2 Kernen
- 8 GB RAM
- 2TB SSD
- Mind. 10 MBit/s Bandbreite
Empfohlene Spezifikationen
- Schnelle CPU mit mind. 4 Kernen
- Mind. 16 GB RAM
- Schnelle SSD mit mind. 2 TB
- Mind. 25 MBit/s Bandbreite
Der von Ihnen gewählte Synchronisierungsmodus und Client wirken sich auf den Speicherplatzbedarf aus, wir haben jedoch den Speicherplatz, den Sie für jeden Client benötigen, im Folgenden geschätzt.
| Client | Festplattengröße (Snap-Synchronisation) | Festplattengröße (Vollständiges Archiv) |
|---|---|---|
| Besu | Mind. 800 GB | Mind. 12TB |
| Erigon | N/V | Mind. 2,5 TB |
| Geth | Mind. 500 GB | Mind. 12TB |
| Nethermind | Mind. 500 GB | Mind. 12TB |
| Reth | N/V | Über 2,2 TB |
- Hinweis: Erigon und Reth bieten keine Snap-Synchronisierung, aber vollständiges Pruning ist möglich (ca. 2 TB für Erigon, ca. 1,2 TB für Reth)
Bei Konsens-Clients hängt der Platzbedarf auch von der Client-Implementierung und den aktivierten Funktionen ab (z. B. Validator-Slasher), aber im Allgemeinen sind weitere 200 GB für Beacon-Daten erforderlich. Mit einer großen Anzahl von Validatoren steigt auch die Bandbreitenbelastung. Details zu den Anforderungen von Konsens-Clients finden Sie in dieser Analyseopens in a new tab.
Plug-and-Play-Lösungen
Die einfachste Möglichkeit, einen Knoten mit eigener Hardware zu betreiben, ist die Verwendung von Plug-and-Play-Modulen. Vorkonfigurierte Geräte von Anbietern bieten die unkomplizierteste Lösung: bestellen, anschließen, loslegen. Alles ist vorkonfiguriert und läuft automatisch mit einer intuitiven Anleitung und einem Dashboard zur Überwachung und Steuerung der Software.
Ethereum auf einem Einplatinencomputer
Eine einfache und kostengünstige Möglichkeit, einen Ethereum-Node zu betreiben, ist die Verwendung eines Einplatinenrechners, sogar mit einer ARM-Architektur wie dem Raspberry Pi. Ethereum on ARMopens in a new tab bietet einfach auszuführende Images für verschiedene Ausführungs- und Konsens-Clients für Raspberry Pi und andere ARM-Boards.
Kleine, kostengünstige und effiziente Geräte wie diese sind ideal für den Betrieb eines Knotens im eigenen Haushalt, doch sollte man ihre begrenzte Leistung nicht überschätzen.
Den Node hochfahren
Die eigentliche Client-Einrichtung kann entweder mit automatischen Startprogrammen (Launcher) oder manuell erfolgen, indem die Client-Software direkt eingerichtet wird.
Für weniger fortgeschrittene Benutzer empfiehlt sich die Verwendung eines „Launchers“, einer Software, die Sie durch die Installation führt und den Client-Einrichtungsprozess automatisiert. Wenn Sie jedoch etwas Erfahrung im Umgang mit einem Terminal haben, sollten die Schritte zur manuellen Einrichtung einfach zu befolgen sein.
Geführtes Setup
Mehrere benutzerfreundliche Projekte zielen darauf ab, die Erfahrungen bei der Einrichtung eines Kunden zu verbessern. Diese Launcher bieten eine automatische Client-Installation und -Konfiguration, wobei einige sogar eine grafische Oberfläche für die geführte Einrichtung und Überwachung der Clients bieten.
Im Folgenden finden Sie einige Projekte, mit denen Sie Clients mit wenigen Klicks installieren und steuern können:
- DappNodeopens in a new tab – DappNode wird nicht nur als Maschine von einem Anbieter geliefert. Die Software, der eigentliche Node Launcher und das Kontrollzentrum mit vielen Funktionen kann auf beliebiger Hardware eingesetzt werden.
- EthPillaropens in a new tab – Schnellster und einfachster Weg, einen Full Node einzurichten. Einzeiliges Setup-Tool und Knotenverwaltung TUI. Kostenlos. Open Source. Öffentliche Güter für Ethereum durch Solo-Staker. ARM64- und AMD64-Unterstützung.
- eth-dockeropens in a new tab – Automatisierte Einrichtung mit Docker, die auf einfaches und sicheres Staking ausgerichtet ist, grundlegende Terminal- und Docker-Kenntnisse erfordert und für etwas fortgeschrittenere Benutzer empfohlen wird.
- Stereumopens in a new tab – Launcher zur Installation von Clients auf einem Remote-Server über eine SSH-Verbindung mit einer GUI-Einrichtungsanleitung, einem Kontrollzentrum und vielen anderen Funktionen.
- NiceNodeopens in a new tab – Ein Launcher mit einer unkomplizierten Benutzererfahrung, um einen Node auf Ihrem Computer zu betreiben. Wählen Sie einfach Clients aus und starten Sie sie mit ein paar Klicks. Noch in der Entwicklung.
- Sedgeopens in a new tab – Node-Setup-Tool, das automatisch eine Docker-Konfiguration mit einem CLI-Assistenten generiert. Geschrieben in Go von Nethermind.
Manuelles Einrichten der Clients
Die andere Möglichkeit besteht darin, die Client-Software manuell herunterzuladen, zu überprüfen und zu konfigurieren. Auch wenn einige Clients eine grafische Oberfläche bieten, erfordert eine manuelle Einrichtung immer noch Grundkenntnisse im Umgang mit dem Terminal, bietet aber viel mehr Möglichkeiten.
Wie bereits erläutert, muss für die Einrichtung Ihres eigenen Ethereum-Knotens ein Paar bestehend aus Konsens- und Ausführungsclients ausgeführt werden. Einige Clients können einen „leichten Client“ der alternativen Art enthalten und synchronisieren, ohne dass weitere Software erforderlich ist. Für eine vollständige vertrauenswürdige Überprüfung sind jedoch beide Implementierungen erforderlich.
Die Client-Software erhalten
Zuerst müssen Sie die Software für Ihren bevorzugten Ausführungs-Client und Konsens-Client beschaffen.
Sie können einfach eine ausführbare Anwendung oder ein Installationspaket herunterladen, das für Ihr Betriebssystem und Ihre Systemarchitektur geeignet ist. Überprüfen Sie immer die Signaturen und Prüfsummen der heruntergeladenen Pakete. Einige Clients bieten auch Repositories oder Docker-Abbildungen zur einfacheren Installation und Aktualisierung an. Alle Clients sind quelloffen, so dass Sie sie auch aus dem Quellcode erstellen können. Dies ist eine fortgeschrittenere Methode, jedoch kann sie in manchen Fällen erforderlich sein.
Anleitungen zur Installation der einzelnen Clients finden Sie in der Dokumentation, die in den Client-Listen oben verlinkt ist.
Dort finden Sie die Versionsseiten der Clients, auf denen Sie die vorgefertigten Binärdateien oder Anweisungen zur Installation finden können:
Ausführungs-Clients
- Besuopens in a new tab
- Erigonopens in a new tab
- Gethopens in a new tab
- Nethermindopens in a new tab
- Rethopens in a new tab
Es ist auch erwähnenswert, dass die Client-Diversität ein Problem auf der Ausführungsebene darstellt. Den Lesern wird empfohlen, einen Minderheitenausführungsclient zu verwenden.
Konsens-Clients
- Lighthouseopens in a new tab
- Lodestaropens in a new tab (Bietet keine vorgefertigte Binärdatei, nur ein Docker-Image oder muss aus dem Quellcode erstellt werden)
- Nimbusopens in a new tab
- Prysmopens in a new tab
- Tekuopens in a new tab
Client-Diversität ist für Konsens-Nodes, die Validatoren betreiben, von entscheidender Bedeutung. Wenn die Mehrheit der Validatoren eine einzelne Client-Implementierung ausführt, ist die Netzwerksicherheit gefährdet. Es wird daher empfohlen, einen Minderheits-Client zu wählen.
Sehen Sie sich die aktuelle Nutzung von Netzwerk-Clients anopens in a new tab und erfahren Sie mehr über Client-Diversität.
Verifizierung der Software
Beim Herunterladen von Software aus dem Internet wird empfohlen, deren Integrität zu überprüfen. Diese Maßnahme ist zwar freiwillig, aber gerade bei essenziellen Infrastrukturkomponenten wie dem Ethereum-Client ist es wichtig, mögliche Angriffsvektoren zu kennen und zu vermeiden. Sofern Sie eine vorgefertigte Binärdatei heruntergeladen haben, ist es erforderlich, darauf zu vertrauen und das damit verbundene Risiko einzugehen, dass ein Angreifer die ausführbare Datei gegen eine bösartige Variante austauschen könnte.
Entwickler signieren veröffentlichte Binärdateien mit ihren PGP-Schlüsseln, sodass Sie kryptografisch überprüfen können, dass Sie genau die von ihnen erstellte Software ausführen. Sie müssen lediglich die von den Entwicklern verwendeten öffentlichen Schlüssel erhalten, die auf den Client-Versionsseiten oder in der Dokumentation gefunden werden können. Nachdem Sie das Client-Release und seine Signatur heruntergeladen haben, können Sie eine PGP-Implementierung, z. B. GnuPGopens in a new tab, verwenden, um sie einfach zu verifizieren. Sehen Sie sich ein Tutorial zur Verifizierung von Open-Source-Software mit gpg unter Linuxopens in a new tab oder Windows/MacOSopens in a new tab an.
Eine weitere Form der Überprüfung besteht darin sicherzustellen, dass der Hash – ein eindeutiger kryptografischer Fingerabdruck – der heruntergeladenen Software mit dem vom Entwickler bereitgestellten übereinstimmt. Diese Vorgehensweise ist sogar unkomplizierter als die Verwendung von PGP, und bei einigen Programmen steht lediglich diese Option zur Verfügung. Führen Sie einfach die Hash-Funktion auf der heruntergeladenen Software aus und vergleichen Sie sie mit der auf der Veröffentlichungsseite angegebenen Funktion. Beispiel:
1sha256sum teku-22.6.1.tar.gz239b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767ddeClient-Einrichtung
Nach der Installation, dem Herunterladen oder dem Kompilieren der Client-Software sind Sie bereit, sie auszuführen. Das bedeutet lediglich, dass es mit der richtigen Konfiguration ausgeführt werden muss. Die Clients bieten eine vielfältige Auswahl an Konfigurationsoptionen, die verschiedene Funktionen aktivieren können.
Lassen Sie uns mit den Optionen beginnen, die sich wesentlich auf die Leistung und die Datennutzung des Clients auswirken können. Synchronisierungsmodi stellen verschiedene Methoden zum Herunterladen und Validieren von Blockchain-Daten dar. Bevor Sie den Knoten starten, sollten Sie entscheiden, welchen Netzwerk- und Synchronisierungsmodus Sie verwenden möchten. Die wichtigsten Faktoren, die berücksichtigt werden müssen, sind der benötigte Festplattenspeicher und die Synchronisationszeit des Clients. Achten Sie auf die Dokumentation des Clients, um festzustellen, welcher Synchronisationsmodus standardmäßig verwendet wird. Wenn dies nicht geeignet ist, wählen Sie einen anderen Client basierend auf Sicherheitsniveau, verfügbaren Daten und Kosten. Neben dem Synchronisations-Algorithmus können Sie auch verschiedene Arten von alten Daten automatisch reduzieren lassen (Pruning). Pruning ermöglicht das Löschen veralteter Daten, d.h. das Entfernen von State-Trie-Nodes, die von den letzten Blöcken aus nicht erreichbar sind.
Andere grundlegende Konfigurationsoptionen sind z. B. die Wahl eines Netzwerks – Mainnet oder Testnets, die Aktivierung des HTTP-Endpunkts für RPC oder WebSockets usw. Sämtliche Funktionen und Optionen finden Sie in der Dokumentation des Clients. Verschiedene Client-Konfigurationen können durch Ausführen des Clients mit den entsprechenden Flaggen direkt in der Befehlszeilenschnittstelle (CLI) oder der Konfigurationsdatei festgelegt werden. Jeder Client ist etwas anders; bitte konsultieren Sie immer die offizielle Dokumentation oder Hilfeseite für Details zu den Konfigurationsoptionen.
Zu Testzwecken sollten Sie einen Client in einem der Testnetzwerke betreiben. Siehe Übersicht der unterstützten Netzwerke.
Beispiele für laufende Ausführungsclients mit Grundkonfiguration finden Sie im nächsten Abschnitt.
Starten des Ausführungs-Clients
Bevor Sie die Ethereum-Client-Software starten, überprüfen Sie noch einmal, ob Ihre Systemumgebung bereit ist. Stellen Sie beispielsweise Folgendes sicher:
- Dass unter Berücksichtigung des gewählten Netzwerk- und Synchronisierungsmodus genügend Speicherplatz vorhanden ist.
- Dass Speicher und CPU nicht durch andere Programme angehalten werden.
- Dass das Betriebssystem über die neueste Version verfügt.
- Dass das System die richtige Uhrzeit und das richtige Datum anzeigt.
- Dass Ihr Router und Ihre Firewall Verbindungen an abhörenden Ports akzeptiert. Standardmäßig verwenden Ethereum-Clients einen Listener(TCP)-Port und einen Discovery(UDP)-Port, beide standardmäßig 30303.
Führen Sie Ihren Client zunächst in einem Testnetz aus, um sicherzustellen, dass alles korrekt funktioniert.
Sie müssen alle Client-Einstellungen, die nicht standardmäßig sind, zu Beginn angeben. Sie können Flags oder die Konfigurationsdatei verwenden, um Ihre bevorzugte Konfiguration anzugeben. Der Funktionsumfang und die Konfigurationssyntax jedes Clients unterscheiden sich. Schauen Sie sich die Dokumentation Ihres Clients für die Einzelheiten an.
Ausführungs- und Konsens-Clients kommunizieren über einen authentifizierten Endpunkt, der in der Engine APIopens in a new tab spezifiziert ist. Um eine Verbindung zu einem Konsens-Client herzustellen, muss der Ausführungs-Client ein jwtsecretopens in a new tab in einem bekannten Pfad generieren. Aus Sicherheits- und Stabilitätsgründen sollten die Clients auf derselben Maschine ausgeführt werden, und beide Clients müssen diesen Pfad kennen, da dieser zur Authentifizierung einer lokalen RPC-Verbindung zwischen ihnen verwendet wird. Der Ausführungsclient muss auch einen Listening-Port für authentifizierte APIs festlegen.
Dieser Token wird automatisch von der Client-Software generiert, in manchen Fällen müssen Sie dies jedoch selbst tun. Sie können es mit OpenSSLopens in a new tab generieren:
1openssl rand -hex 32 > jwtsecretEinen Ausführungs-Client betreiben
Dieser Abschnitt führt Sie durch die Einrichtung eines Ausführungsclients. Er dient nur als Beispiel für eine Grundkonfiguration, mit der der Client entsprechend dieser Einstellungen gestartet wird:
- Gibt das Netzwerk an, mit dem eine Verbindung hergestellt werden soll – in unseren Beispielen Mainnet
- Sie können stattdessen eines der Testnets für vorläufige Tests Ihres Setups auswählen
- Festlegen des Datenverzeichnisses, in dem alle Daten, einschließlich der Blockchain, gespeichert werden sollen
- Stellen Sie sicher, dass Sie den Pfad durch einen echten ersetzen, der z. B. auf Ihr externes Laufwerk verweist
- Aktivieren von Schnittstellen für die Kommunikation mit dem Client
- Einschließlich JSON-RPC- und Engine-API für die Kommunikation mit dem Konsens-Client
- Definiert den Pfad zum
jwtsecretfür die authentifizierte API- Stellen Sie sicher, dass Sie den Beispielpfad durch einen echten ersetzen, auf den die Clients zugreifen können, z. B.
/tmp/jwtsecret
- Stellen Sie sicher, dass Sie den Beispielpfad durch einen echten ersetzen, auf den die Clients zugreifen können, z. B.
Bitte beachten Sie, dass dies nur ein einfaches Beispiel ist, alle anderen Einstellungen werden auf die Standardeinstellung gesetzt. Beachten Sie die Dokumentation der einzelnen Clients, um sich über standardmäßige Werte, Einstellungen und Funktionen zu informieren. Weitere Funktionen, z. B. zur Ausführung von Validatoren, zur Überwachung usw., finden Sie in der Dokumentation des jeweiligen Clients.
Beachten Sie, dass die Backslashes `` in den Beispielen nur zu Formatierungszwecken dienen; Konfigurations-Flags können in einer einzigen Zeile definiert werden.
Ausführen von Besu
Dieses Beispiel startet Besu auf Mainnet, speichert Blockchain-Daten im Standardformat unter /data/ethereum, aktiviert JSON-RPC und Engine-RPC zum Verbinden des Konsens-Clients. Die Engine-API wird mit dem Token jwtsecret authentifiziert und es sind nur Aufrufe von localhost erlaubt.
1besu --network=mainnet \2 --data-path=/data/ethereum \3 --rpc-http-enabled=true \4 --engine-rpc-enabled=true \5 --engine-host-allowlist="*" \6 --engine-jwt-enabled=true \7 --engine-jwt-secret=/path/to/jwtsecretBesu verfügt auch über eine Startoption, die eine Reihe von Fragen stellt und die Konfigurationsdatei generiert. Starten Sie den interaktiven Launcher mit:
1besu --XlauncherDie Besu-Dokumentationopens in a new tab enthält zusätzliche Optionen und Konfigurationsdetails.
Ausführen von Erigon
Dieses Beispiel startet Erigon auf Mainnet, speichert Blockchain-Daten in /data/ethereum, aktiviert JSON-RPC, definiert, welche Namespaces erlaubt sind und aktiviert die Authentifizierung zur Verbindung mit dem Konsens-Client, die durch den jwtsecret-Pfad definiert ist.
1erigon --chain mainnet \2 --datadir /data/ethereum \3 --http --http.api=engine,eth,web3,net \4 --authrpc.jwtsecret=/path/to/jwtsecretErigon führt standardmäßig eine vollständige Synchronisierung mit einer 8 GB HDD-Festplatte durch, was zu mehr als 2 TB an Archivdaten führen wird. Stellen Sie sicher, dass datadir auf eine Festplatte mit genügend freiem Speicherplatz verweist oder sehen Sie sich das Flag --prune an, mit dem verschiedene Arten von Daten getrimmt werden können. Prüfen Sie Erigons --help für weitere Informationen.
Ausführen von Geth
Dieses Beispiel startet Geth auf Mainnet, speichert Blockchain-Daten unter /data/ethereum, aktiviert JSON-RPC und definiert, welche Namespaces erlaubt sind. Es aktiviert auch die Authentifizierung für die Verbindung mit dem Konsens-Client, was den Pfad zu jwtsecret erfordert, sowie eine Option, die definiert, welche Verbindungen erlaubt sind, in unserem Beispiel nur von localhost.
1geth --mainnet \2 --datadir "/data/ethereum" \3 --http --authrpc.addr localhost \4 --authrpc.vhosts="localhost" \5 --authrpc.port 85516 --authrpc.jwtsecret=/path/to/jwtsecretÜberprüfen Sie die Dokumentation für alle Konfigurationsoptionenopens in a new tab und erfahren Sie mehr über die Ausführung von Geth mit einem Konsens-Clientopens in a new tab.
Ausführen von Nethermind
Nethermind bietet verschiedene Installationsoptionenopens in a new tab. Das Paket enthält verschiedene Binärdateien, darunter einen Launcher mit einem geführten Setup, mit dem Sie die Konfiguration interaktiv erstellen können. Alternativ finden Sie Runner, das die ausführbare Datei selbst ist, und Sie können sie einfach mit Konfigurationsflaggen ausführen. JSON-RPC ist standardmäßig aktiviert.
1Nethermind.Runner --config mainnet \2 --datadir /data/ethereum \3 --JsonRpc.JwtSecretFile=/path/to/jwtsecretDie Nethermind-Dokumentation bietet eine vollständige Anleitungopens in a new tab zur Ausführung von Nethermind mit einem Konsens-Client.
Ein Ausführungsclient initiiert seine Kernfunktionen, wählt Endpunkte und beginnt mit der Suche nach Peers. Nach erfolgreicher Erkennung von Peers beginnt der Client mit der Synchronisierung. Der Ausführungsclient wartet auf eine Verbindung vom Konsensclient. Die aktuellen Blockchain-Daten sind verfügbar, sobald der Client erfolgreich mit dem aktuellen Zustand synchronisiert wurde.
Reth ausführen
Dieses Beispiel startet Reth im Mainnet unter Verwendung des Standarddatenspeicherorts. Aktiviert die JSON-RPC- und Engine-RPC-Authentifizierung für die Verbindung mit dem Konsens-Client, der durch den jwtsecret-Pfad definiert ist, wobei nur Aufrufe von localhost zulässig sind.
1reth node \2 --authrpc.jwtsecret /path/to/jwtsecret \3 --authrpc.addr 127.0.0.1 \4 --authrpc.port 8551Siehe Reth konfigurierenopens in a new tab, um mehr über Standard-Datenverzeichnisse zu erfahren. Die Reth-Dokumentationopens in a new tab enthält zusätzliche Optionen und Konfigurationsdetails.
Starten des Konsens-Clients
Der Konsensclient muss mit der richtigen Port-Konfiguration gestartet werden, um eine lokale RPC-Verbindung zum Ausführungsclient herzustellen. Die Konsensclients müssen mit dem offengelegten Ausführungsclient-Port als Konfigurationsargument ausgeführt werden.
Der Konsens-Client benötigt auch den Pfad zum jwt-secret des Ausführungs-Clients, um die RPC-Verbindung zwischen ihnen zu authentifizieren. Ähnlich wie bei den obigen Ausführungsbeispielen verfügt jeder Konsensclient über ein Konfigurationsmerkmal, das den Pfad des jwt-Tokens als Argument annimmt. Dieser muss mit dem jwtsecret-Pfad übereinstimmen, der dem Ausführungs-Client zur Verfügung gestellt wird.
Wenn Sie einen Validator betreiben möchten, fügen Sie unbedingt eine Konfigurationsflagge hinzu, die die Ethereum-Adresse des Gebührenempfängers angibt. Hier sammeln sich die Ether-Prämien für Ihren Validator. Jeder Konsens-Client hat eine Option, z. B. --suggested-fee-recipient=0xabcd1, die eine Ethereum-Adresse als Argument entgegennimmt.
Wenn Sie eine Beacon Node auf einem Testnet starten, können Sie durch die Verwendung eines öffentlichen Endpunkts für den Checkpoint-Syncopens in a new tab erheblich Zeit bei der Synchronisierung sparen.
Betreiben eines Konsens-Clients
Ausführen von Lighthouse
Bevor Sie Lighthouse ausführen, erfahren Sie mehr über die Installation und Konfiguration im Lighthouse Bookopens in a new tab.
1lighthouse beacon_node \2 --network mainnet \3 --datadir /data/ethereum \4 --http \5 --execution-endpoint http://127.0.0.1:8551 \6 --execution-jwt /path/to/jwtsecretAusführen von Lodestar
Installieren Sie die Lodestar-Software, indem Sie sie kompilieren oder das Docker-Abbild herunterladen. Erfahren Sie mehr in den Dokumentenopens in a new tab und in der umfassenderen Einrichtungsanleitungopens in a new tab.
1lodestar beacon \2 --dataDir="/data/ethereum" \3 --network=mainnet \4 --eth1.enabled=true \5 --execution.urls="http://127.0.0.1:8551" \6 --jwt-secret="/path/to/jwtsecret"Ausführen von Nimbus
Nimbus wird sowohl mit Konsens- als auch mit Ausführungsclients geliefert. Es kann auf verschiedenen Geräten auch mit sehr bescheidener Rechenleistung ausgeführt werden. Nach der Installation der Abhängigkeiten und von Nimbus selbstopens in a new tab, können Sie dessen Konsens-Client ausführen:
1nimbus_beacon_node \2 --network=mainnet \3 --web3-url=http://127.0.0.1:8551 \4 --rest \5 --jwt-secret="/path/to/jwtsecret"Ausführen von Prysm
Prysm wird mit einem Skript geliefert, das eine einfache automatische Installation ermöglicht. Details finden Sie in der Prysm-Dokumentationopens in a new tab.
1./prysm.sh beacon-chain \2 --mainnet \3 --datadir /data/ethereum \4 --execution-endpoint=http://localhost:8551 \5 --jwt-secret=/path/to/jwtsecretAusführen von Teku
1teku --network mainnet \2 --data-path "/data/ethereum" \3 --ee-endpoint http://localhost:8551 \4 --ee-jwt-secret-file "/path/to/jwtsecret"Wenn sich ein Konsensclient mit dem Ausführungsclient verbindet, um den Einzahlungsvertrag zu lesen und die Validatoren zu identifizieren, verbindet er sich auch mit anderen Beacon Node-Peers und beginnt mit der Synchronisierung der Konsens-Slots ab der Genesis. Sobald der Beacon Node die aktuelle Epoche erreicht, wird die Beacon API für Ihre Validatoren nutzbar. Erfahren Sie mehr über Beacon Node APIsopens in a new tab.
Validatoren hinzufügen
Ein Konsensclient dient als Beacon Node, mit dem sich Validatoren verbinden können. Jeder Konsensclient verfügt über eine eigene Validierungssoftware, die in der jeweiligen Dokumentation ausführlich beschrieben wird.
Der Betrieb eines eigenen Validators ermöglicht Solo-Staking, die wirkungsvollste und vertrauenswürdigste Methode zur Unterstützung des Ethereum-Netzwerks. Allerdings ist dafür eine Einzahlung von 32 ETH erforderlich. Um einen Validator auf Ihrem eigenen Node mit einem kleineren Betrag zu betreiben, könnte ein dezentraler Pool mit erlaubnisfreien Node-Betreibern, wie Rocket Poolopens in a new tab, für Sie interessant sein.
Der einfachste Weg, um mit dem Staking und der Generierung von Validator-Schlüsseln zu beginnen, ist die Verwendung des Hoodi Testnet Staking Launchpadsopens in a new tab, mit dem Sie Ihr Setup testen können, indem Sie Nodes auf Hoodi ausführenopens in a new tab. Wenn Sie für Mainnet bereit sind, können Sie diese Schritte mit dem Mainnet Staking Launchpadopens in a new tab wiederholen.
Sehen Sie sich die Staking-Seite an, um einen Überblick über die Staking-Optionen zu erhalten.
Verwenden des Nodes
Ausführungs-Clients bieten RPC-API-Endpunkte an, die Sie verwenden können, um Transaktionen zu übermitteln, mit Smart Contracts im Ethereum-Netzwerk zu interagieren oder diese auf verschiedene Weisen bereitzustellen:
- Manueller Aufruf mit einem geeigneten Protokoll (z. B. mit
curl) - Anhängen einer bereitgestellten Konsole (z. B.
geth attach) - Implementierung in Anwendungen mithilfe von web3-Bibliotheken, z. B. web3.pyopens in a new tab, ethersopens in a new tab
Verschiedene Clients verfügen über unterschiedliche Implementierungen der RPC-Endpunkte. Es gibt jedoch einen Standard-JSON-RPC, den Sie mit jedem Client verwenden können. Für einen Überblick lesen Sie die JSON-RPC-Dokumentation. Anwendungen, die Informationen aus dem Ethereum-Netzwerk benötigen, können diesen RPC verwenden. Zum Beispiel ermöglicht die beliebte Wallet MetaMask es Ihnen, sich mit Ihrem eigenen RPC-Endpunkt zu verbindenopens in a new tab, was große Vorteile für Datenschutz und Sicherheit bietet.
Die Konsens-Clients stellen alle eine Beacon-APIopens in a new tab zur Verfügung, die verwendet werden kann, um den Status des Konsens-Clients zu überprüfen oder Blöcke und Konsensdaten durch Senden von Anfragen mit Tools wie Curlopens in a new tab herunterzuladen. Weitere Informationen hierzu finden Sie in der Dokumentation des jeweiligen Konsensclients.
RPC erreichen
Der Standardport für den JSON-RPC des Ausführungs-Clients ist 8545, aber Sie können die Ports der lokalen Endpunkte in der Konfiguration ändern. Standardmäßig ist die RPC-Schnittstelle nur über den localhost Ihres Computers erreichbar. Um es aus der Ferne zugänglich zu machen, möchten Sie es vielleicht der Öffentlichkeit zugänglich machen, indem Sie die Adresse auf 0.0.0.0 ändern. Hierdurch wird sie über das lokale Netz und öffentliche IP-Adressen erreichbar. In den meisten Fällen müssen Sie außerdem eine Portweiterleitung auf Ihrem Router einrichten.
Die Freigabe von Ports für das Internet ist mit Vorsicht zu genießen, da hierdurch jeder im Internet Ihren Knoten kontrollieren kann. Böswillige Akteure könnten auf Ihren Knoten zugreifen, um Ihr System zum Absturz zu bringen oder Ihr Geld zu stehlen, wenn Sie Ihren Client als Wallet verwenden.
Eine Möglichkeit, dies zu umgehen, besteht darin zu verhindern, dass potenziell schädliche RPC-Methoden geändert werden können. Mit Geth können Sie zum Beispiel modifizierbare Methoden mit einem Flag deklarieren: --http.api web3,eth,txpool.
Der Zugriff auf die RPC-Schnittstelle kann durch die Entwicklung von Edge-Layer-APIs oder Webserver-Anwendungen wie Nginx und deren Verbindung mit der lokalen Adresse und dem Port Ihres Clients erweitert werden. Die Nutzung einer Zwischenschicht kann Entwicklern auch die Möglichkeit geben, ein Zertifikat für sichere https-Verbindungen zur RPC-Schnittstelle einzurichten.
Die Einrichtung eines Webservers, eines Proxys oder einer nach außen gerichteten Rest-API ist nicht die einzige Möglichkeit, den Zugriff auf den RPC-Endpunkt Ihrer Node zu ermöglichen. Eine weitere datenschutzfreundliche Möglichkeit, einen öffentlich erreichbaren Endpunkt einzurichten, ist das Hosten des Nodes auf Ihrem eigenen Toropens in a new tab Onion-Service. Auf diese Weise können Sie den RPC außerhalb Ihres lokalen Netzes erreichen, ohne eine statische öffentliche IP-Adresse oder geöffnete Ports. Bei dieser Konfiguration kann der RPC-Endpunkt jedoch nur über das Tor-Netzwerk erreichbar sein, was nicht von allen Anwendungen unterstützt wird und zu Verbindungsproblemen führen kann.
Dazu müssen Sie Ihren eigenen Onion-Serviceopens in a new tab erstellen. Lesen Sie die Dokumentationopens in a new tab zur Einrichtung eines Onion-Dienstes, um Ihren eigenen zu hosten. Sie können ihn auf einen Webserver mit Proxy zum RPC-Port oder direkt auf den RPC verweisen.
Eine der beliebtesten Möglichkeiten, Zugang zu internen Netzen zu erhalten, ist schließlich eine VPN-Verbindung. Je nach Anwendungsfall und der Anzahl der Benutzer, die Zugang zu Ihrem Knoten benötigen, könnte eine sichere VPN-Verbindung eine Option sein. OpenVPN ist ein SSL-VPN mit vollem Funktionsumfang, das eine sichere Netzwerkerweiterung auf OSI-Ebene 2 oder 3 unter Verwendung des Branchenstandards SSL/TLS-Protokoll implementiert, flexible Client-Authentifizierungsmethoden auf der Grundlage von Zertifikaten, Smartcards und/oder Benutzername/Passwort-Anmeldeinformationen unterstützt und benutzer- oder gruppenspezifische Zugriffskontrollrichtlinien unter Verwendung von Firewall-Regeln für die virtuelle VPN-Schnittstelle ermöglicht.
Betreiben des Nodes
Sie sollten Ihren Knoten regelmäßig überwachen, um sicherzustellen, dass er ordnungsgemäß funktioniert. Möglicherweise müssen Sie gelegentlich Wartungsarbeiten durchführen.
Einen Node online halten
Ihr Knoten muss nicht die ganze Zeit online sein, Sie sollten ihn jedoch so oft wie möglich online lassen, damit er sich mit dem Netzwerk synchronisieren kann. Sie können ihn ausschalten, um ihn neu zu starten, bedenken Sie jedoch Folgendes:
- Das Herunterfahren kann einige Minuten dauern, wenn der aktuelle Status noch auf die Festplatte geschrieben wird.
- Erzwungene Abschaltungen können die Datenbank beschädigen, so dass Sie den gesamten Knoten neu synchronisieren müssen.
- Ihr Client wird nicht mehr mit dem Netzwerk synchronisiert und muss neu synchronisiert werden, wenn Sie ihn neu starten. Die Synchronisation des Knotens kann zwar an dem Punkt beginnen, an dem er zuletzt heruntergefahren wurde, aber je nachdem, wie lange er offline war, kann der Prozess einige Zeit dauern.
Dies gilt nicht für Validator-Nodes der Konsensebene. Wenn Sie Ihren Node offline schalten, wirkt sich dies auf alle von ihm abhängigen Dienste aus. Wenn Sie einen Node für Staking-Zwecke betreiben, sollten Sie versuchen, die Ausfallzeiten so gering wie möglich zu halten.
Erstellen von Client-Diensten
Erwägen Sie die Einrichtung eines Dienstes, der Ihren Client automatisch beim Start ausführt. Auf Linux-Servern wäre es zum Beispiel eine gute Praxis, einen Dienst, z. B. mit systemd, zu erstellen, der den Client mit der richtigen Konfiguration unter einem Benutzer mit begrenzten Rechten ausführt und automatisch neu startet.
Clients aktualisieren
Sie müssen Ihre Client-Software mit den neuesten Sicherheitspatches, Funktionen und EIPs auf dem neuesten Stand halten. Stellen Sie insbesondere vor Hard Forks sicher, dass Sie die richtigen Client-Versionen verwenden.
Vor wichtigen Netzwerk-Updates veröffentlicht die EF einen Beitrag in ihrem Blogopens in a new tab. Sie können diese Ankündigungen abonnierenopens in a new tab, um eine Benachrichtigung per E-Mail zu erhalten, wenn Ihr Node eine Aktualisierung benötigt.
Die Aktualisierung der Clients ist sehr einfach. Jeder Client hat spezifische Anweisungen in seiner Dokumentation, im Allgemeinen besteht das Verfahren jedoch nur darin, die neueste Version herunterzuladen und den Client mit der neuen ausführbaren Datei neu zu starten. Der Client sollte dort weitermachen, wo er aufgehört hat, jedoch mit den vorgenommenen Aktualisierungen.
Jede Client-Implementierung hat eine von Menschen lesbare Versionszeichenfolge, die im Peer-to-Peer-Protokoll verwendet wird, aber auch über die Befehlszeile zugänglich ist. Anhand dieses Versionsstrings können die Nutzer überprüfen, ob sie die richtige Version verwenden. Außerdem ermöglicht er es Blockexplorern und anderen Analysewerkzeugen eine quantitative Analyse der Verteilung bestimmter Clients im Netz. Weitere Informationen zu den Versionsstrings finden Sie in der jeweiligen Client-Dokumentation.
Ausführen zusätzlicher Dienste
Wenn Sie einen eigenen Knoten betreiben, können Sie Dienste nutzen, die einen direkten Zugang zum Ethereum-Client-RPC erfordern. Dabei handelt es sich um Dienste, die auf Ethereum aufbauen, wie Layer-2-Lösungen, Backend für Wallets, Block-Explorer, Entwicklertools und andere Ethereum-Infrastruktur.
Überwachen des Nodes
Um Ihren Knoten ordnungsgemäß zu überwachen, sollten Sie Metriken sammeln. Clients stellen Metrik-Endpunkte bereit, damit Sie umfassende Daten über Ihren Knoten erhalten können. Verwenden Sie Tools wie InfluxDBopens in a new tab oder Prometheusopens in a new tab, um Datenbanken zu erstellen, die Sie in Software wie Grafanaopens in a new tab in Visualisierungen und Diagramme umwandeln können. Es gibt viele Setups für die Verwendung dieser Software und verschiedene Grafana-Dashboards, mit denen Sie Ihre Knoten und das Netzwerk als Ganzes visualisieren können. Sehen Sie sich zum Beispiel das Tutorial zur Überwachung von Geth an.
Behalten Sie im Rahmen der Überwachung auch die Leistung Ihres Rechners im Auge. Während der ersten Synchronisierung Ihres Knotens kann die Client-Software sehr viel CPU und RAM beanspruchen. Zusätzlich zu Grafana können Sie dafür die Tools Ihres Betriebssystems wie htop oder uptime verwenden.
Weiterführende Lektüre
- Ethereum Staking Guidesopens in a new tab – Somer Esat, wird häufig aktualisiert
- Anleitung | Wie man einen Validator für Ethereum Staking auf Mainnet einrichtetopens in a new tab – CoinCashew, wird häufig aktualisiert
- ETHStaker-Anleitungen zum Ausführen von Validatoren in Testnetsopens in a new tab – ETHStaker, wird regelmäßig aktualisiert
- Beispiel AWS Blockchain Node Runner App für Ethereum Nodesopens in a new tab – AWS, wird häufig aktualisiert
- The Merge FAQ für Node-Betreiberopens in a new tab – Juli 2022
- Analyse der Hardware-Anforderungen für einen Ethereum Full Validated Nodeopens in a new tab – Albert Palau, 24. September 2018
- Ethereum Full Nodes betreiben: Eine Anleitung für die kaum Motiviertenopens in a new tab – Justin Leroux, 7. November 2019
- Einen Hyperledger Besu Node auf dem Ethereum Mainnet betreiben: Vorteile, Anforderungen und Einrichtungopens in a new tab – Felipe Faraggi, 7. Mai 2020
- Bereitstellung des Nethermind Ethereum Client mit Monitoring Stackopens in a new tab – Nethermind.eth, 8. Juli 2020
