getBlockProduction RPC-Methode liefert Informationen über die Blockproduktion im aktuellen Zyklus oder in einem bestimmten Slot-Bereich. Sie kann verwendet werden, um Daten für alle Validatoren oder eine bestimmte Validatorenidentität abzurufen. Dies ist wertvoll für die Überwachung der Leistung von Validatoren und das Verständnis von Blockproduktionsmustern im Netzwerk.
Häufige Anwendungsfälle
- Überwachung der Validatorenleistung: Verfolgen Sie die Anzahl der produzierten Blöcke und Führungsslots für einen bestimmten Validator.
- Analyse der Zyklusleistung: Erhalten Sie einen Überblick über die Blockproduktion aller Validatoren im aktuellen oder einem vergangenen Zyklus.
- Identifizierung verpasster Slots: Prüfen Sie, ob Validatoren ihre zugewiesenen Führungsslots verpassen.
- Netzwerk-Gesundheitschecks: Sammeln Sie Daten zur Effizienz der gesamten Blockproduktion.
Anforderungsparameter
DiegetBlockProduction Methode akzeptiert ein optionales Konfigurationsobjekt mit den folgenden Parametern:
commitment(string, optional): Gibt das Verpflichtungsniveau an, das für die Abfrage verwendet werden soll. Falls nicht angegeben, wird das Standard-Verpflichtungsniveau des Knotens verwendet.range(object, optional): Definiert einen Slot-Bereich zur Abfrage.firstSlot(u64): Der erste Slot, für den Blockproduktionsinformationen abgerufen werden sollen (inklusive).lastSlot(u64, optional): Der letzte Slot, für den Blockproduktionsinformationen abgerufen werden sollen (inklusive). Wenn nicht angegeben, wird die Blockproduktion des aktuellen Zyklus bis zum aktuellen Slot zurückgegeben.
identity(string, optional): Ein base58-codierter öffentlicher Schlüssel einer Validatorenidentität. Wenn angegeben, enthält die Antwort nur Blockproduktionsinformationen für diesen spezifischen Validator. Wenn nicht angegeben, werden Informationen für alle Validatoren im angegebenen Bereich (oder aktuellen Zyklus) zurückgegeben.
identity oder range.firstSlot muss angegeben werden. Wenn identity nicht angegeben ist, ist der range Parameter erforderlich.
Antwortstruktur
Dasresult Feld der JSON-RPC-Antwort wird ein Objekt enthalten, das:
context(object):slot(u64): Der Slot, in dem die Informationen abgerufen wurden.
value(object):byIdentity(object): Ein Objekt, bei dem die Schlüssel Validatorenidentität-Strings (base58-codierte öffentliche Schlüssel) sind und die Werte Objekte, die Folgendes enthalten:leaderSlots(u64): Die Anzahl der Führungsslots, die diesem Validator im abgefragten Bereich/Zyklus zugewiesen sind.blocksProduced(u64): Die Anzahl der Blöcke, die von diesem Validator im abgefragten Bereich/Zyklus produziert wurden.
range(object):firstSlot(u64): Der erste Slot des abgefragten Bereichs.lastSlot(u64): Der letzte Slot des abgefragten Bereichs.
Entwicklertipps
- Verstehen Sie die Zyklusgrenzen: Bei der Abfrage durch
identityohnerangewerden die Daten für den aktuellen Zyklus bis zum letzten vom Knoten verarbeiteten Slot zurückgegeben. Wenn Sie Daten für einen vollständigen vergangenen Zyklus für einen bestimmten Validator benötigen, müssen Sie diefirstSlotundlastSlotfür diesen Zyklus bestimmen. - Verfügbarkeit von Knotendaten: Der Bereich der historischen Blockproduktionsdaten kann zwischen den RPC-Knoten variieren. Sehr alte Slot-Bereiche sind möglicherweise nicht auf allen Knoten verfügbar.
- Leistungsüberwachung:
getBlockProductionist entscheidend für den Aufbau von Dashboards oder Benachrichtigungen im Zusammenhang mit der Betriebszeit von Validatoren und Erfolgsraten bei der Blockproduktion. - Kombinieren mit
getLeaderSchedule: Für eine tiefere Analyse können SiegetBlockProductionDaten mit der Ausgabe vongetLeaderSchedulekorrelieren, um zu sehen, welche spezifischen Führungsslots erfüllt oder verpasst wurden. - Identität vs. alle Validatoren: Eine Abfrage ohne
identitykann eine große Menge an Daten zurückgeben, insbesondere wenn keinrangeoder ein breiterrangeangegeben ist. Beachten Sie die Antwortgrößen und Verarbeitungsanforderungen.
Beispiele
1. Blockproduktion für den aktuellen Zyklus abrufen (alle Validatoren)
Dieses Beispiel ruft Blockproduktionsdaten für alle Validatoren im aktuellen Zyklus ab.2. Blockproduktion für einen bestimmten Validator im aktuellen Zyklus abrufen
Dieses Beispiel ruft die Blockproduktion für eine bestimmte Validatorenidentität im aktuellen Zyklus ab.3. Blockproduktion für einen bestimmten Slot-Bereich und Validator abrufen
Dieses Beispiel ruft Blockproduktionsdaten für einen bestimmten Validator innerhalb eines definierten Slot-Bereichs ab.getBlockProduction RPC-Methode verwenden, um die Blockproduktion auf Solana zu analysieren.
Verwandte Methoden
getLeaderSchedule
Erhalten Sie den vollständigen Führungsplan, um ihn mit Produktionsdaten zu korrelieren
getVoteAccounts
Erhalten Sie Informationen über alle abstimmenden Validatoren