Zum Hauptinhalt springen
Mit der RPC-Methode getBlocksWithLimit kannst du eine Liste bestätigter Block-slot-Nummern abrufen. Die Liste beginnt bei einem angegebenen slot und enthält höchstens die durch das Limit festgelegte Anzahl. Das ist nützlich, wenn du ab einem bestimmten Punkt im Ledger eine bestimmte Anzahl nachfolgender bestätigter Blöcke benötigst.
Vermeide Batching für eine bessere PerformanceDas Batching von Archivierungsmethoden erhöht die Latenz erheblich. Batches mit mehr als 10 requests sind nicht zulässig.

Häufige Anwendungsfälle

  • Eine feste Anzahl nachfolgender Blöcke abrufen: Rufe eine festgelegte Anzahl von Block-slots ab, die nach einem bestimmten Start-slot bestätigt wurden.
  • Paginierte Blocksuche: Rufe Blöcke in Abschnitten ab, wenn du einen Teil der Blockchain analysierst.
  • Aktuelle Blöcke überwachen: Rufe die letzten N Blöcke ab einem bekannten aktuellen slot ab.

Request-Parameter

Die Methode getBlocksWithLimit akzeptiert die folgenden Parameter:
  1. start_slot (u64, erforderlich): Der erste zu berücksichtigende slot (einschließlich).
  2. limit (u64, erforderlich): Die maximale Anzahl zurückzugebender Block-slots. Die Gesamtzahl der abgefragten slots (von start_slot bis zu limit Blöcke danach) darf 500.000 slots nicht überschreiten.
  3. commitment (String, optional): Gibt den commitment-Level für die Abfrage an. Wenn du ihn weglässt, wird das standardmäßige commitment des node verwendet. Dieser Wert wird als einziges Feld in einem Konfigurationsobjekt als letzter Parameter übergeben.

Response-Struktur

Das Feld result der JSON-RPC-response enthält ein Array aus u64-Ganzzahlen. Jede Ganzzahl im Array steht für die Nummer eines bestätigten Block-slots, beginnend bei start_slot bis zur angegebenen Anzahl limit.
  • Beispiel: Wenn start_slot den Wert 5 und limit den Wert 3 hat, wäre [5, 6, 7] ein mögliches Ergebnis.

Beispiele

1. Eine begrenzte Anzahl von Blöcken ab einem Start-slot abrufen

Dieses Beispiel ruft eine Liste mit bis zu 5 bestätigten Block-slots ab, beginnend bei slot 280000000.

2. Blöcke mit einem Limit und einem bestimmten commitment-Level abrufen

Dieses Beispiel ruft mit dem commitment-Level confirmed bis zu 3 Blöcke ab, beginnend bei slot 290000000.

Tipps für Entwickler

  • Erläuterung des Bereichs: Der Parameter limit bestimmt die maximale Anzahl zurückzugebender Block-slots. Die Beschränkung auf 500.000 slots gilt für den konzeptionell durchsuchten Bereich, also von start_slot bis start_slot + limit - 1. Achte darauf, dass dieser konzeptionelle Bereich 500.000 slots nicht überschreitet. Das gilt auch dann, wenn innerhalb dieses Bereichs weniger tatsächliche Blöcke gefunden und zurückgegeben werden.
  • Datenverfügbarkeit des node: Nodes speichern möglicherweise nicht die Informationen zu allen historischen slots. Bei einem sehr alten start_slot werden abhängig von der Ledger-Aufbewahrung des node möglicherweise weniger Blöcke als durch limit angegeben oder ein leeres Array zurückgegeben.
  • Blockbestätigung: Diese Methode gibt bestätigte Blöcke zurück. Die genaue Menge der Blöcke kann je nach gewähltem commitment-Level und abgefragtem node leicht variieren. Das gilt besonders für sehr aktuelle slots.
  • Spezifischer Anwendungsfall: getBlocksWithLimit eignet sich ideal, wenn du den Startpunkt kennst und eine feste Anzahl nachfolgender Blöcke benötigst. Wenn du alle Blöcke in einem bekannten slot-Bereich benötigst, eignet sich getBlocks möglicherweise besser.
Dieser Leitfaden gibt dir einen klaren Überblick darüber, wie du mit der RPC-Methode getBlocksWithLimit eine bestimmte Anzahl bestätigter Block-slots im Solana-Netzwerk auflistest.

Verwandte Methoden

getBlocks

Alle Blöcke innerhalb eines slot-Bereichs abrufen

getBlock

Detaillierte Informationen zu einem bestimmten Block abrufen