Skip to main content
Die 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

Die getBlockProduction Methode akzeptiert ein optionales Konfigurationsobjekt mit den folgenden Parametern:
  1. 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.
  2. 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.
  3. 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.
Hinweis: Mindestens einer der identity oder range.firstSlot muss angegeben werden. Wenn identity nicht angegeben ist, ist der range Parameter erforderlich.

Antwortstruktur

Das result 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 identity ohne range werden 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 die firstSlot und lastSlot fü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: getBlockProduction ist 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 Sie getBlockProduction Daten mit der Ausgabe von getLeaderSchedule korrelieren, um zu sehen, welche spezifischen Führungsslots erfüllt oder verpasst wurden.
  • Identität vs. alle Validatoren: Eine Abfrage ohne identity kann eine große Menge an Daten zurückgeben, insbesondere wenn kein range oder ein breiter range angegeben 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.
Dieser Leitfaden sollte Ihnen ein solides Verständnis dafür vermitteln, wie Sie die 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