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:
config(Objekt, optional): Ein Konfigurationsobjekt mit den folgenden Feldern:commitment(String, optional): Gibt das commitment level für die Abfrage an. Der Standardwert istfinalized.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 mindestensminContextSlotentspricht.
finalized.
Tipps für Entwickler
- Commitment Levels sind wichtig: Die zurückgegebene Blockhöhe kann je nach angegebenem
commitment-Level variieren.finalizedliefert die stabilste Höhe, währendprocessedeine aktuellere, aber möglicherweise vorübergehende Höhe liefern kann. minContextSlotfür Konsistenz: VerwendeminContextSlot, 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
getBlockHeightTeil einer grundlegenden Zustands- oder Synchronisierungsprüfung der Blockchain für deine Anwendung oder dein Überwachungssystem sein.
Response
Das Feldresult der JSON-RPC-response enthält eine einzelne Zahl:
blockHeight(Zahl): Die aktuelle Blockhöhe (u64) des node gemäß dem angegebenen commitment level.
Beispiel: Aktuelle Blockhöhe abrufen
Rufen wir die aktuelle Blockhöhe über den Helius Devnet RPC ab. Hinweis: ErsetzeYOUR_API_KEY in den folgenden Beispielen durch deinen tatsächlichen Helius API key.