getBlocks RPC-Methode ermöglicht es Ihnen, eine Liste von bestätigten Block-Slot-Nummern zwischen einem angegebenen Startslot und einem optionalen End-slot abzurufen. Dies ist nützlich, wenn Sie wissen müssen, welche Blöcke in einem bestimmten Bereich bestätigt wurden, ohne den vollständigen Inhalt jedes Blocks abzurufen.
Allgemeine Anwendungsfälle
- Identifizierung von bestätigten Blöcken in einem Bereich: Schnelles Abrufen einer Liste aller Blockslots, die zwischen zwei Punkten im Ledger erfolgreich bestätigt wurden.
- Durchlaufen von Blöcken: Verwenden Sie die zurückgegebene Liste von Slots, um bei Bedarf detaillierte Informationen für jeden Block mithilfe von
getBlockabzurufen. - Grundlegende Blockprüfung: Überprüfung des Vorhandenseins von Blöcken innerhalb eines bestimmten Bereichs.
Anfrageparameter
DiegetBlocks-Methode nimmt die folgenden Parameter an:
start_slot(u64, erforderlich): Der erste zu berücksichtigende Slot für den Bereich (einschließlich).end_slot(u64, optional): Der letzte zu berücksichtigende Slot für den Bereich (einschließlich).- Wenn nicht angegeben, gibt die Abfrage Blöcke bis zum neuesten bestätigten Slot von
start_slotzurück. - Der Bereich zwischen
start_slotundend_slot(oder neuesten Slot, wennend_slotweggelassen wird) darf 500.000 Slots nicht überschreiten.
- Wenn nicht angegeben, gibt die Abfrage Blöcke bis zum neuesten bestätigten Slot von
commitment(string, optional): Gibt das Commitment-Level für die Abfrage an. Wenn weggelassen, wird das Standard-Commitment des Knotens verwendet. Dies wird als einziges Feld in einem Konfigurationsobjekt als letzter Parameter übergeben.
Antwortstruktur
Dasresult-Feld der JSON-RPC-Antwort wird ein Array von u64-Integern sein. Jeder Integer im Array stellt eine bestätigte Block-Slot-Nummer innerhalb des angegebenen Bereichs dar.
- Beispiel:
[5, 6, 7, 8, 9, 10]
Beispiele
1. Abrufen von Blöcken innerhalb eines spezifischen Slot-Bereichs
Dieses Beispiel ruft die Liste der bestätigten Blockslots zwischen Slot250000000 und 250000010 ab.
2. Abrufen von Blöcken von einem Startslot bis zum neuesten bestätigten Slot
Dieses Beispiel ruft bestätigte Blockslots ab, beginnend mit260000000 bis zum neuesten vom Knoten bestätigten Block (unter Beachtung des 500.000-Slot-Bereichslimits ab dem Startslot).
3. Abrufen von Blöcken mit einem spezifischen Commitment-Level
Dieses Beispiel ruft Blöcke unter Verwendung desconfirmed Commitment-Levels ab.
Entwicklertipps
- Bereichslimit: Denken Sie an das 500.000-Slot-Bereichslimit. Die Anforderung eines größeren Bereichs führt zu einem Fehler.
- Verfügbarkeit von Knotendaten: Knoten speichern möglicherweise nicht alle historischen Slots. Sehr alte
start_slot-Werte können leere Arrays oder Fehler zurückgeben, abhängig von der Konfiguration und der Ledger-Aufbewahrung des Knotens. - Blockbestätigung: Diese Methode gibt bestätigte Blöcke zurück. Die genaue Menge an Blöcken kann je nach gewähltem
commitment-Level und dem abgefragten Knoten leicht variieren, insbesondere bei sehr aktuellen Slots. - Ergänzung zu
getBlock:getBlockswird oft als erster Schritt verwendet, um relevante Blockslots zu identifizieren, bevorgetBlockverwendet wird, um die vollständigen Details einzelner Blöcke in dieser Liste abzurufen. - Alternative Paginierung: Da
getBlocksein Bereichslimit hat, wenn Sie einen sehr großen Teil der Kette durchsuchen müssen, müssen Sie mehrere Aufrufe angetBlocksmachen und den gewünschten Gesamtbereich in Segmente von 500.000 Slots oder weniger aufteilen.
getBlocks RPC-Methode verwendet, um bestätigte Blockslots im Solana-Netzwerk aufzulisten.
Verwandte Methoden
getBlock
Detaillierte Informationen für einen bestimmten Block abrufen
getBlocksWithLimit
Eine feste Anzahl von Blöcken, beginnend mit einem Slot, abrufen