Solana ist die anspruchsvollste Chain für den Eigenbetrieb. Ein Validator oder vollständiger RPC-Node benötigt eine sehr schnelle CPU, sehr viel RAM und schnelle NVMe-Laufwerke, und die Anforderungen ändern sich ständig. Diese Anleitung erklärt, was das in der Praxis bedeutet, damit Sie entscheiden können, ob Sie einen eigenen Node oder eine kleinere Lösung brauchen.
Validator, RPC-Node oder keines von beiden?
- Validator. Stimmt über Blöcke ab und braucht die volle Hardware-Spezifikation, einen finanzierten Vote-Account und ständige Verfügbarkeit.
- RPC-Node. Bedient Anfragen für Apps, Bots und Indexer. Er stimmt nicht ab, braucht aber ähnliche Hardware und mehr RAM, wenn Sie Account-Indizes aktivieren.
- Leichtere Nutzung. Wenn Sie nur wenige Transaktionen senden oder wenige Daten lesen, ist ein kostenpflichtiger RPC-Endpunkt meist günstiger als ein eigener Node.
Prüfen Sie vor dem Kauf die offiziellen Solana-Validator-Anforderungen. Sie sind in der Solana- und Agave-Dokumentation veröffentlicht und ändern sich mit dem Netzwerk. Als grobe Orientierung rechnen Sie bei einem ausgelasteten RPC-Node mit Hunderten GB RAM und mehreren schnellen NVMe-Laufwerken. Das ist dedizierte-Server-Territorium, kein kleiner VPS. Unsere Seite Solana-Node-Hosting listet die passenden Optionen auf.
Schritt 1: Den Server vorbereiten
Verwenden Sie Ubuntu LTS und die Schritte aus So sichern Sie einen neuen VPS. Legen Sie einen eigenen Benutzer an und legen Sie Ledger und Accounts auf getrennte NVMe-Laufwerke, falls Sie mehr als eines haben.
sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts
Schritt 2: Systemlimits erhöhen
Solana öffnet viele Dateien und nutzt große Memory Maps. Fügen Sie Folgendes zu /etc/sysctl.d/21-solana.conf und zu Ihrer systemd-Unit hinzu:
vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728
# in the systemd unit:
LimitNOFILE=1000000
Wenden Sie es mit sudo sysctl --system an.
Schritt 3: Die Validator-Software installieren
Installieren Sie die aktuelle Agave-Version (den Solana-Validator-Client) mit der Methode aus der offiziellen Dokumentation und prüfen Sie sie. Kontrollieren Sie dann die Version:
agave-validator --version
solana --version
Schritt 4: Einen RPC-Node starten
Dies ist die typische Form des Startbefehls für einen nicht abstimmenden RPC-Node. Verwenden Sie die Known Validators und Entrypoints aus der offiziellen Dokumentation für Ihren Cluster.
agave-validator \
--identity /home/sol/identity.json \
--ledger /mnt/ledger \
--accounts /mnt/accounts \
--entrypoint ENTRYPOINT:8001 \
--known-validator KNOWN_VALIDATOR_PUBKEY \
--only-known-rpc \
--rpc-port 8899 \
--private-rpc \
--no-voting \
--full-rpc-api \
--limit-ledger-size \
--log /var/log/solana/validator.log
Ersetzen Sie die Platzhalter durch Werte aus der Dokumentation. --private-rpc verhindert, dass der RPC-Port im Netzwerk bekannt gemacht wird, und Sie sollten ihn dennoch per Firewall geschlossen halten.
Schritt 5: Das Aufholen beobachten
solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor
Das Aufholen aus einem Snapshot dauert von Minuten bis Stunden. Wenn der Node zurückfällt und sich nie erholt, liegt die Ursache meist beim Datenträger oder beim Netzwerk.
Firewall
Erlauben Sie den in der Dokumentation beschriebenen Gossip- und TPU-Portbereich (der Standardbereich ist 8000 bis 10000) und halten Sie RPC (8899 und 8900) privat. Schalten Sie einen Reverse Proxy mit Authentifizierung davor, wenn Sie RPC für andere Maschinen bereitstellen müssen.