Zum Hauptinhalt springen
Mit der RPC-Methode getBlockHeight kannst du ganz einfach die aktuelle Blockhöhe eines Solana-node abfragen. Die Blockhöhe gibt an, wie viele Blöcke seit dem Genesis-Block (slot 0) verarbeitet wurden. Mit dieser Methode kannst du schnell feststellen, wie weit die Blockchain fortgeschritten ist, oder die aktuelle Blockhöhe für ein bestimmtes commitment level abrufen.

Häufige Anwendungsfälle

  • Fortschritt der Blockchain überwachen: Rufe diese Methode regelmäßig auf, um zu prüfen, ob die Blockchain voranschreitet.
  • Momentaufnahme der Blockchain-Länge abrufen: Ermittle die Gesamtzahl der bis zu einem bestimmten Zeitpunkt verarbeiteten Blöcke (basierend auf dem commitment).
  • Mit anderen Daten abgleichen: Nutze die Blockhöhe als Referenzpunkt, wenn du andere On-Chain-Daten oder Ereignisse analysierst.

Parameter

getBlockHeight kann optional ein Konfigurationsobjekt als ersten Parameter akzeptieren. Du kannst die Methode auch ohne Parameter aufrufen, um die Standardwerte zu verwenden:
  1. config (Objekt, optional): Ein Konfigurationsobjekt mit den folgenden Feldern:
    • commitment (String, optional): Gibt das commitment level für die Abfrage an. Der Standardwert ist finalized.
      • finalized: Der node fragt den neuesten Block ab, für den eine qualifizierte Mehrheit des cluster bestätigt hat, dass er den maximalen Lockout erreicht hat.
      • confirmed: Der node fragt den neuesten Block ab, über den eine qualifizierte Mehrheit des cluster abgestimmt hat.
      • processed: Der node fragt seinen neuesten Block ab. Beachte, dass der Block möglicherweise noch nicht vollständig ist.
    • minContextSlot (Zahl, optional): Der minimale slot, bei dem der request ausgewertet werden kann. Dadurch wird sichergestellt, dass die zurückgegebene Blockhöhe von einem slot stammt, der mindestens minContextSlot entspricht.
Wenn du keine Parameter angibst, verwendet die Methode in der Regel standardmäßig das commitment finalized.

Tipps für Entwickler

  • Commitment Levels sind wichtig: Die zurückgegebene Blockhöhe kann je nach angegebenem commitment-Level variieren. finalized liefert die stabilste Höhe, während processed eine aktuellere, aber möglicherweise vorübergehende Höhe liefern kann.
  • minContextSlot für Konsistenz: Verwende minContextSlot, wenn du sicherstellen musst, dass die Blockhöhe aus einem Zustand abgefragt wird, der mindestens so aktuell ist wie ein bestimmter slot, den du verfolgst.
  • Keine slot-Nummer: Denke daran, dass sich die Blockhöhe von der slot-Nummer unterscheidet. Ein slot ist ein Zeitraum, und nicht jeder slot erzeugt einen Block. Solche slots werden als übersprungene slots bezeichnet. Die Blockhöhe zählt die tatsächlich erzeugten Blöcke.
  • Grundlegende Zustandsprüfung der Blockchain: Trotz ihrer Einfachheit kann getBlockHeight Teil einer grundlegenden Zustands- oder Synchronisierungsprüfung der Blockchain für deine Anwendung oder dein Überwachungssystem sein.

Response

Das Feld result der JSON-RPC-response enthält eine einzelne Zahl:
  • blockHeight (Zahl): Die aktuelle Blockhöhe (u64) des node gemäß dem angegebenen commitment level.
Beispiel für eine JSON-response:
Dieser Wert gibt die Anzahl der Blöcke auf der längsten Blockchain vom Genesis-Block (slot 0) bis zu ihrer aktuellen Spitze aus Sicht des abgefragten node an.

Beispiel: Aktuelle Blockhöhe abrufen

Rufen wir die aktuelle Blockhöhe über den Helius Devnet RPC ab. Hinweis: Ersetze YOUR_API_KEY in den folgenden Beispielen durch deinen tatsächlichen Helius API key.