OffshoreVps
Anleitungen17 Okt. 20267 Min. LesezeitVon dem OffshoreVps-Team

Einen Solana-RPC-Node betreiben: Anforderungen und Einrichtung

Was ein Solana-Validator oder RPC-Node wirklich braucht, wie Sie das System abstimmen, einen RPC-Node mit dem Agave-Client starten und wann eine kleinere Lösung klüger ist.

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.

Terminalfenster auf einem VPS mit den Befehlen zum Betrieb eines Solana-RPC-Nodes, beginnend mit „sudo adduser --disabled-password --gecos "" sol“
Die Art von Befehlen, die Sie in dieser Anleitung auf Ihrem Server ausführen.

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.

Die Schritte dieser Anleitung in der Reihenfolge: 1. Validator, RPC-Node oder keins von beidem?; 2. Den Server vorbereiten; 3. Die Systemlimits erhöhen; 4. Einen RPC-Node starten; 5. Beim Aufholen zusehen; 6. Firewall
Die Schritte dieser Anleitung in der Reihenfolge.

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.