getVoteAccounts RPC-Methode liefert Informationen über alle Abstimmungskonten (Validatoren) in der aktuellen Bank. Sie unterscheidet zwischen current (aktive) und delinquent Validatoren und liefert Details zu ihrem Einsatz, ihrer Abstimmungsaktivität und Identität.
Allgemeine Anwendungsfälle
- Validator-Überwachung: Verfolgen des Status, des Einsatzes und der Leistung von Validatoren im Netzwerk.
- Staking-Dashboards: Anzeigen von Informationen über verfügbare Validatoren für Benutzer, die ihr SOL delegieren möchten.
- Netzwerkanalyse zur Gesundheitsbewertung: Beurteilung der allgemeinen Gesundheit und Dezentralisierung des Netzwerks durch Untersuchung der Verteilung von Einsatz und Validatoraktivität.
- Erkennung nachlässiger Validatoren: Finden von Validatoren, die nicht aktiv an Konsensentscheidungen teilnehmen.
Anfrageparameter
Diese Methode akzeptiert ein optionales Konfigurationsobjekt mit den folgenden Feldern:commitment(string, optional): Gibt das Commitment-Level für die Abfrage an (z. B."finalized","confirmed","processed"). Wenn es weggelassen wird, wird das Standard-Commitment des Knotens verwendet.votePubkey(string, optional): Wenn angegeben, werden die Ergebnisse gefiltert, um nur die angegebene Validator-Abstimmungskontoadresse (base-58-kodiert) einzubeziehen.keepUnstakedDelinquents(boolean, optional): Standardmäßigfalse. Wenn auftruegesetzt, wird diedelinquent-Liste Validatoren ohne aktivierten Einsatz einbeziehen. Andernfalls werden sie herausgefiltert.delinquentSlotDistance(u64, optional): Gibt an, wie viele Slots ein Validator hinter der Spitze des Ledgers zurückliegen muss, um als nachlässig zu gelten. Wenn nicht angegeben, verwendet der Knoten einen Standardwert.
Antwortstruktur
Dasresult-Feld in der JSON-RPC-Antwort ist ein Objekt, das zwei Arrays enthält:
current: Ein Array von Objekten, wobei jedes Objekt ein aktives Abstimmungskonto mit folgenden Feldern darstellt:votePubkey(string): Die Abstimmungskonto-Adresse (base-58-kodiert).nodePubkey(string): Der öffentliche Identitätsschlüssel des Validator-Knotens (base-58-kodiert).activatedStake(u64): Die Menge des Einsatzes, in Lamports, die diesem Abstimmungskonto zugewiesen und im aktuellen Zyklus aktiv ist.epochVoteAccount(boolean):true, wenn das Abstimmungskonto mindestens einmal während des aktuellen Zyklus aktiv war.commission(number): Der Prozentsatz der Kommission (0-100), die vom Validator erhoben wird.lastVote(u64): Die jüngste Slot-Nummer, für die dieser Validator abgestimmt hat.rootSlot(u64): Der letzte Slot, den der Knoten als Wurzel betrachtet hat (ein Block, der vollständig bestätigt ist und nicht zurückgerollt wird).epochCredits(array): Ein Array von Arrays, wobei jedes innere Array[epoch, credits_earned_in_epoch, previous_total_credits]enthält.
delinquent: Ein Array von Objekten mit derselben Struktur wiecurrent, das Validatoren darstellt, die vom Knoten als nachlässig erachtet werden.
Codebeispiele
Entwicklertipps
- Große Antwort: Diese Methode kann eine große Menge an Daten zurückgeben, insbesondere in Netzwerken mit vielen Validatoren wie Mainnet Beta. Achten Sie auf die Antwortgröße und die Verarbeitungszeit.
- Definition von Nachlässigkeit: Die Definition von “nachlässig” kann von
delinquentSlotDistanceund der Perspektive des Knotens abhängen. Ein Validator könnte auf einem Knoten als nachlässig erscheinen, auf einem anderen jedoch nicht, wenn ihre Sicht auf die Ledger-Spitze unterschiedlich ist. - Einsatzaktivierung:
activatedStakespiegelt den Einsatz wider, der im aktuellen Zyklus aktiv ist. Der Einsatz benötigt Zeit, um aktiviert und deaktiviert zu werden. - Zyklusgutschriften:
epochCreditsbietet eine Historie der Leistung eines Validators beim Verdienen von Gutschriften durch Abstimmungen.
getVoteAccounts RPC-Methode ab und ermöglicht Ihnen, Informationen über Validatoren im Solana-Netzwerk abzufragen und zu verstehen.