getBlocks kannst du eine Liste der bestätigten slot-Nummern von Blöcken zwischen einem angegebenen slot für den Start und einem optionalen slot für das Ende abrufen. Das ist nützlich, wenn du wissen musst, welche Blöcke in einem bestimmten Bereich bestätigt wurden, ohne den vollständigen Inhalt jedes Blocks abzurufen.
Häufige Anwendungsfälle
- Bestätigte Blöcke in einem Bereich ermitteln: Rufe schnell eine Liste aller slot ab, deren Blöcke zwischen zwei Punkten im Ledger erfolgreich bestätigt wurden.
- Blöcke durchlaufen: Verwende die zurückgegebene Liste der slot, um bei Bedarf anschließend mit
getBlockdetaillierte Informationen zu jedem Block abzurufen. - Grundlegende Prüfung von Blöcken: Prüfe, ob Blöcke in einem bestimmten Bereich vorhanden sind.
Parameter für den request
Die MethodegetBlocks erwartet die folgenden Parameter:
start_slot(u64, erforderlich): Der erste slot, der für den Bereich berücksichtigt wird (einschließlich).end_slot(u64, optional): Der letzte slot, der für den Bereich berücksichtigt wird (einschließlich).- Wenn du ihn nicht angibst, gibt die Abfrage ab
start_slotBlöcke bis zum neuesten bestätigten slot zurück. - Der Bereich zwischen
start_slotundend_slotbeziehungsweise dem neuesten slot, wenn duend_slotweglässt, darf 500.000 slot nicht überschreiten.
- Wenn du ihn nicht angibst, gibt die Abfrage ab
commitment(String, optional): Legt das commitment für die Abfrage fest. Wenn du diesen Parameter weglässt, wird das standardmäßige commitment des node verwendet. Dieser Wert wird als einziges Feld eines Konfigurationsobjekts im letzten Parameter übergeben.
Struktur der response
Das Feldresult der JSON-RPC-response enthält ein Array mit Ganzzahlen vom Typ u64. Jede Ganzzahl im Array steht für die Nummer eines slot mit einem bestätigten Block innerhalb des angegebenen Bereichs.
- Beispiel:
[5, 6, 7, 8, 9, 10]
Beispiele
1. Blöcke innerhalb eines bestimmten Bereichs von slot abrufen
Dieses Beispiel ruft die Liste der slot mit bestätigten Blöcken zwischen250000000 und 250000010 ab.
2. Blöcke von einem slot für den Start bis zum neuesten bestätigten slot abrufen
Dieses Beispiel ruft bestätigte slot von Blöcken ab260000000 bis zum neuesten vom node bestätigten Block ab. Dabei gilt ab dem slot für den Start die Bereichsgrenze von 500.000 slot.
3. Blöcke mit einem bestimmten commitment abrufen
Dieses Beispiel ruft Blöcke mit dem commitmentconfirmed ab.
Tipps für Entwickler
- Bereichsgrenze: Beachte die Grenze von 500.000 slot. Wenn du einen größeren Bereich anforderst, tritt ein Fehler auf.
- Datenverfügbarkeit des node: Ein node speichert möglicherweise nicht die Informationen zu allen historischen slot. Je nach Konfiguration und Aufbewahrung des Ledgers können sehr alte Werte für
start_slotleere Arrays oder Fehler zurückgeben. - Bestätigung von Blöcken: Diese Methode gibt bestätigte Blöcke zurück. Welche Blöcke genau enthalten sind, kann je nach gewähltem
commitmentund abgefragtem node leicht variieren. Das gilt besonders für sehr aktuelle slot. - Ergänzung zu
getBlock:getBlockswird häufig zuerst verwendet, um relevante slot von Blöcken zu ermitteln. Anschließend kannst du mitgetBlockdie vollständigen Details der einzelnen Blöcke in dieser Liste abrufen. - Alternative zur Seitennummerierung: Da
getBlockseine Bereichsgrenze hat, musst dugetBlocksmehrmals aufrufen, wenn du einen sehr großen Teil der Blockchain durchsuchen möchtest. Teile den gewünschten Gesamtbereich dafür in Abschnitte mit höchstens 500.000 slot auf.
getBlocks bestätigte slot von Blöcken im Solana-Netzwerk auflistest.
Verwandte Methoden
getBlock
Rufe detaillierte Informationen zu einem bestimmten Block ab
getBlocksWithLimit
Rufe ab einem slot eine feste Anzahl von Blöcken ab