getClusterNodes gibt eine Liste aller bekannten nodes zurück, die derzeit am Solana-cluster teilnehmen. Diese Informationen helfen dir bei der Netzwerkanalyse, beim Ermitteln alternativer RPC endpoint und beim Verständnis der aktuellen Netzwerktopologie aus Sicht des abgefragten node.
Häufige Anwendungsfälle
- Netzwerktopologie analysieren: Rufe eine Momentaufnahme der bekannten nodes im cluster ab, einschließlich ihrer öffentlichen Schlüssel und Netzwerkadressen (Gossip, TPU, RPC).
- RPC endpoint ermitteln: Identifiziere weitere potenzielle RPC-Server im cluster. Verfügbarkeit und rate limits können jedoch variieren.
- Node-Versionen überwachen: Prüfe, welche Softwareversionen auf den verschiedenen nodes im cluster ausgeführt werden.
Request-Parameter
Diese Methode akzeptiert keine Parameter.Response-Struktur
Das Feldresult der JSON-RPC-response ist ein Array aus Objekten. Jedes Objekt stellt einen node dar und enthält die folgenden Felder:
pubkey(string): Der Base58-codierte öffentliche Schlüssel (Identität) des node.gossip(string | null): Die IP-Adresse und der Port für den Gossip-Dienst des node. Kannnullsein, wenn diese Angabe nicht verfügbar ist.tpu(string | null): Die IP-Adresse und der Port für die Transaction Processing Unit (TPU) des node. Sie dient dazu, Transaktionen direkt zu übermitteln. Kannnullsein.rpc(string | null): Die IP-Adresse und der Port für den JSON-RPC-Dienst des node. Kannnullsein, wenn der RPC-Dienst auf diesem node nicht aktiviert ist oder nicht angekündigt wird.version(string | null): Die Softwareversion des node. Kannnullsein, wenn keine Versionsinformationen verfügbar sind.featureSet(u32 | null): Die eindeutige Kennung des Feature-Sets des node. Kannnullsein.shredVersion(u16 | null): Die Version der Datenstruktur, mit der dieser node Blöcke (shred) speichert und überträgt. Kannnullsein.
Beispiele
1. Alle bekannten Cluster-Nodes abrufen
Dieses Beispiel ruft die Liste aller nodes ab, die dem abgefragten RPC endpoint bekannt sind.Tipps für Entwickler
- Perspektive des node: Die zurückgegebene Liste enthält die nodes, die dem abgefragten RPC node bekannt sind. Verschiedene RPC nodes können den cluster geringfügig unterschiedlich sehen, insbesondere bei Änderungen im Netzwerk.
- RPC-Verfügbarkeit: Nicht alle aufgeführten nodes haben zwingend offene oder öffentlich zugängliche RPC-Ports. Wenn das Feld
rpcnicht null ist, wurde ein RPC endpoint angekündigt. Das garantiert jedoch weder Erreichbarkeit noch Leistung. - Dynamische Liste: Die Topologie des cluster ist dynamisch. Nodes können hinzukommen oder ihn verlassen. Daher kann sich die Liste im Laufe der Zeit ändern.
- Umfangreiche Response: In einem großen Netzwerk wie Mainnet Beta kann die response sehr umfangreich sein und viele nodes auflisten.
getClusterNodes die nodes in einem Solana-cluster zu ermitteln und zu verstehen.