Как определить время исторического блока Solana в UTC

В выгрузке цепочки часто нужны и номер слота, и читаемая дата. Для доступного блока Solana возвращает оценку времени выпуска в секундах.

Укажите слот с известным блоком

Подставьте вместо 250000 слот существующего блока, который обслуживает ваш RPC. Сохраните исходное целое число до преобразования в строку. При записи форматированного значения явно укажите часовой пояс.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlockTime",
  "params": [
    250000
  ]
}

Проверьте размерность при загрузке в хранилище

Для теста 1700000000 секунд соответствует 14 ноября 2023 года, 22:13:20 UTC. JavaScript Date принимает миллисекунды, поэтому передайте число, умноженное на 1000. Подстановка секунд без пересчёта даст дату вблизи 1970 года. Недоступное время храните как неизвестное.

Оценка основана на временных метках голосов валидаторов. Идентификацию и порядок блоков привязывайте к слоту, поскольку время у нескольких слотов может совпасть. Для разбора задержки доставки фиксируйте локальное время получения отдельным полем.

Документация