Skip to main content
Метод RPC getBlockTime возвращает расчетное время создания указанного блока, идентифицируемого по номеру слота. Время возвращается в виде временной метки Unix (количество секунд с начала эпохи Unix). Этот метод полезен, когда необходимо сопоставить создание блока с реальным временем.
Не используйте пакетные запросы для повышения производительностиПакетная обработка архивных методов значительно увеличивает задержку. Пакеты размером более 10 запросов не допускаются.

Распространенные сценарии использования

  • Добавление временных меток к событиям: Определите время создания конкретного блока, чтобы присвоить временные метки событиям в блокчейне.
  • Анализ интервалов создания блоков: Рассчитайте разницу во времени между блоками. Для более подробного анализа можно использовать этот метод совместно с другими.
  • Сопоставление данных вне блокчейна: Сопоставьте события или данные вне блокчейна с активностью в блокчейне по времени создания блоков.

Параметры запроса

Метод getBlockTime принимает один параметр:
  1. slot (u64, обязательный): Номер слота блока, для которого необходимо получить расчетное время создания.

Структура ответа

Поле result ответа JSON-RPC будет содержать одно из следующих значений:
  • timestamp (i64): Расчетное время создания в виде временной метки Unix (количество секунд с начала эпохи Unix).
  • null: Если временная метка для указанного блока недоступна (например, блок очень старый и данные были удалены либо блок был пропущен и с ним не связана временная метка).

Примеры

1. Получение расчетного времени конкретного блока

В этом примере запрашивается расчетное время создания для определенного слота. Замените SLOT_NUMBER_TO_QUERY фактическим, недавним и подтвержденным слотом в целевой сети (например, Mainnet Beta или Devnet).

Рекомендации разработчикам

  • Доступность временных меток: Временные метки могут быть доступны не для всех блоков, особенно для очень старых или пропущенных слотов. В таких случаях метод возвращает null.
  • Расчетное значение: Время является расчетным. Оно вычисляется на основе средневзвешенных по стейку временных меток голосов валидаторов. Хотя это значение обычно достаточно точное, оно не является гарантированной криптографически защищенной временной меткой для каждого отдельного блока в отличие от хеша блока.
  • Зависимость от узла: Доступность и точность могут незначительно различаться в зависимости от запрашиваемого узла RPC, особенно для самых последних блоков, которые еще не были финализированы.
В этом руководстве объясняется, как использовать getBlockTime для получения расчетной временной метки создания любого заданного блока в сети Solana.