getBlockTime возвращает расчетное время создания указанного блока, идентифицируемого по номеру слота. Время возвращается в виде временной метки Unix (количество секунд с начала эпохи Unix).
Этот метод полезен, когда необходимо сопоставить создание блока с реальным временем.
Распространенные сценарии использования
- Добавление временных меток к событиям: Определите время создания конкретного блока, чтобы присвоить временные метки событиям в блокчейне.
- Анализ интервалов создания блоков: Рассчитайте разницу во времени между блоками. Для более подробного анализа можно использовать этот метод совместно с другими.
- Сопоставление данных вне блокчейна: Сопоставьте события или данные вне блокчейна с активностью в блокчейне по времени создания блоков.
Параметры запроса
МетодgetBlockTime принимает один параметр:
slot(u64, обязательный): Номер слота блока, для которого необходимо получить расчетное время создания.
Структура ответа
Полеresult ответа JSON-RPC будет содержать одно из следующих значений:
timestamp(i64): Расчетное время создания в виде временной метки Unix (количество секунд с начала эпохи Unix).null: Если временная метка для указанного блока недоступна (например, блок очень старый и данные были удалены либо блок был пропущен и с ним не связана временная метка).
Примеры
1. Получение расчетного времени конкретного блока
В этом примере запрашивается расчетное время создания для определенного слота. ЗаменитеSLOT_NUMBER_TO_QUERY фактическим, недавним и подтвержденным слотом в целевой сети (например, Mainnet Beta или Devnet).
Рекомендации разработчикам
- Доступность временных меток: Временные метки могут быть доступны не для всех блоков, особенно для очень старых или пропущенных слотов. В таких случаях метод возвращает
null. - Расчетное значение: Время является расчетным. Оно вычисляется на основе средневзвешенных по стейку временных меток голосов валидаторов. Хотя это значение обычно достаточно точное, оно не является гарантированной криптографически защищенной временной меткой для каждого отдельного блока в отличие от хеша блока.
- Зависимость от узла: Доступность и точность могут незначительно различаться в зависимости от запрашиваемого узла RPC, особенно для самых последних блоков, которые еще не были финализированы.
getBlockTime для получения расчетной временной метки создания любого заданного блока в сети Solana.