Die getBlockTime RPC-Methode liefert die geschätzte Produktionszeit eines angegebenen Blocks, identifiziert durch seine Slotnummer. Die Zeit wird als Unix-Zeitstempel (Sekunden seit dem Unix-Epoch) zurückgegeben.
Diese Methode ist nützlich, wenn Sie die Blockproduktion mit der realen Zeit korrelieren müssen.
Vermeiden Sie Batching für bessere LeistungBatching von Archivmethoden erhöht die Latenz erheblich. Batches über 10 Anfragen sind nicht erlaubt.
Häufige Anwendungsfälle
- Ereignisse mit Zeitstempel versehen: Bestimmen, wann ein bestimmter Block produziert wurde, um On-Chain-Ereignisse zu datieren.
- Analyse der Blockproduktionsintervalle: Berechnen der Zeitdifferenz zwischen Blöcken (für eine detailliertere Analyse könnten jedoch andere Methoden kombiniert werden).
- Korrelieren von Off-Chain-Daten: Anpassung von Off-Chain-Ereignissen oder -Daten an On-Chain-Aktivitäten durch Abgleich der Blockproduktionszeiten.
Anforderungsparameter
Die getBlockTime Methode erfordert einen einzelnen Parameter:
slot (u64, erforderlich): Die Slotnummer des Blocks, für den die geschätzte Produktionszeit abgerufen werden soll.
Antwortstruktur
Das Feld result der JSON-RPC-Antwort ist entweder:
timestamp (i64): Die geschätzte Produktionszeit als Unix-Zeitstempel (Sekunden seit dem Unix-Epoch).
null: Wenn der Zeitstempel für den angegebenen Block nicht verfügbar ist (z. B. ist der Block sehr alt und die Daten wurden gelöscht oder der Block wurde übersprungen und hat keinen zugehörigen Zeitstempel).
Beispiele
1. Die geschätzte Zeit eines bestimmten Blocks abrufen
Dieses Beispiel ruft die geschätzte Produktionszeit für einen bestimmten Slot ab. Denken Sie daran, SLOT_NUMBER_TO_QUERY durch einen tatsächlichen, aktuellen und bestätigten Slot im Netzwerk zu ersetzen, das Sie anvisieren (z. B. Mainnet Beta oder Devnet).
Entwicklertipps
- Verfügbarkeit von Zeitstempeln: Zeitstempel sind möglicherweise nicht für alle Blöcke verfügbar, insbesondere für sehr alte oder übersprungene Slots. In solchen Fällen gibt die Methode
null zurück.
- Schätzung: Die Zeit ist eine Schätzung. Sie wird aus dem stake-gewichteten Mittelwert der Votetimestamps von Validatoren abgeleitet. Obwohl sie im Allgemeinen genau ist, ist sie nicht ein garantiert kryptografisch sicherer Zeitstempel für jeden einzelnen Block auf die gleiche Weise wie ein Blockhash.
- Abhängigkeit von Knoten: Die Verfügbarkeit und Genauigkeit kann je nach abgefragtem RPC-Knoten leicht variieren, insbesondere für sehr aktuelle (noch nicht abgeschlossene) Blöcke.
Diese Anleitung erklärt, wie Sie getBlockTime verwenden, um den geschätzten Produktionstimestamp für einen beliebigen Block im Solana-Netzwerk abzurufen.