getBlockTime liefert die geschätzte Produktionszeit eines bestimmten Blocks, der anhand seiner slot-Nummer identifiziert wird. Die Zeit wird als Unix-Zeitstempel zurückgegeben (Sekunden seit Beginn der Unix-Epoche).
Diese Methode ist nützlich, wenn du die Blockproduktion mit der realen Zeit in Beziehung setzen möchtest.
Häufige Anwendungsfälle
- Zeitstempel für Ereignisse: Ermittle, wann ein bestimmter Block produziert wurde, um Onchain-Ereignisse mit einem Zeitstempel zu versehen.
- Analyse der Blockproduktionsintervalle: Berechne den Zeitunterschied zwischen Blöcken. Für eine detailliertere Analyse kannst du weitere Methoden kombinieren.
- Abgleich mit Offchain-Daten: Gleiche Offchain-Ereignisse oder -Daten mit Onchain-Aktivitäten ab, indem du die Produktionszeiten der Blöcke vergleichst.
Request-Parameter
Die MethodegetBlockTime akzeptiert einen einzelnen Parameter:
slot(u64, erforderlich): Die slot-Nummer des Blocks, dessen geschätzte Produktionszeit abgerufen werden soll.
Response-Struktur
Das Feldresult der JSON-RPC-response enthält einen der folgenden Werte:
timestamp(i64): Die geschätzte Produktionszeit als Unix-Zeitstempel (Sekunden seit Beginn der Unix-Epoche).null: Wenn für den angegebenen Block kein Zeitstempel verfügbar ist, beispielsweise weil der Block sehr alt ist und die Daten bereinigt wurden oder weil der Block übersprungen wurde und keinen zugehörigen Zeitstempel besitzt.
Beispiele
1. Geschätzte Zeit eines bestimmten Blocks abrufen
Dieses Beispiel ruft die geschätzte Produktionszeit für einen bestimmten slot ab. ErsetzeSLOT_NUMBER_TO_QUERY durch einen tatsächlichen, aktuellen und bestätigten slot im gewünschten Netzwerk, beispielsweise Mainnet Beta oder Devnet.
Tipps für Entwickler
- Verfügbarkeit von Zeitstempeln: Zeitstempel sind möglicherweise nicht für alle Blöcke verfügbar. Das gilt insbesondere für sehr alte Blöcke oder übersprungene slots. In solchen Fällen gibt die Methode
nullzurück. - Schätzung: Die Zeit ist eine Schätzung. Sie wird aus dem nach Stake gewichteten Mittelwert der Vote-Zeitstempel von Validatoren abgeleitet. Sie ist im Allgemeinen genau, aber kein garantiert kryptografisch sicherer Zeitstempel für jeden einzelnen Block, wie es ein Blockhash ist.
- Abhängigkeit vom node: Verfügbarkeit und Genauigkeit können je nach abgefragtem RPC node leicht variieren. Das gilt insbesondere für sehr aktuelle Blöcke, die noch nicht finalisiert wurden.
getBlockTime den geschätzten Produktionszeitstempel eines beliebigen Blocks im Solana-Netzwerk abrufst.