Параметры
Номер слота блока для получения
Объект конфигурации, содержащий следующие необязательные поля:
encoding
string
по умолчанию:"json"
Формат кодирования данных транзакции:
json - формат JSON
jsonParsed - формат JSON с разобранными данными транзакции
base58 - двоичные данные, закодированные в base-58
base64 - двоичные данные, закодированные в base-64
transactionDetails
string
по умолчанию:"full"
Уровень детализации транзакции для возврата:
full - полные данные транзакции
signatures - только подписи транзакций
none - без данных транзакции
Нужно ли заполнять массив вознаграждений
Состояние банка для запроса:
processed - последний блок (неподтверждённый)
confirmed - подтверждён супербольшинством
finalized - финализирован супербольшинством
maxSupportedTransactionVersion
Максимальная версия транзакции для возврата в ответах
Ответ
Возвращает null, если блок не найден. В противном случае возвращает объект, содержащий:
Blockhash данного блока (base-58)
Blockhash предыдущего блока (base-58)
Индекс слота родительского блока
Массив информации о транзакциях (если transactionDetails != “none”):
- Для
full: полные объекты транзакций
- Для
signatures: только подписи транзакций
Массив объектов вознаграждений (если rewards = true):
pubkey: string - публичный ключ (base-58)
lamports: number - количество lamports вознаграждения
postBalance: number - баланс аккаунта после вознаграждения
rewardType: string - тип вознаграждения
commission: number - комиссия голосующего аккаунта (только для голосования)
Предполагаемое время производства (Unix timestamp)
Количество блоков ниже данного блока
Примеры кода
Базовый запрос
Запрос с разобранными данными транзакции
Использование web3.js
Примечания
- Время производства блока является оценочным и основано на времени genesis-блока и прошедших слотах.
- Не все блоки включают вознаграждения.
- Кодирование
jsonParsed пытается разобрать данные инструкций транзакции на основе известных макетов программ.
- Некоторые блоки могут быть пропущены (лидер не назначен или производство блока завершилось неудачей).
- Данные блока могут быть удалены из узла в зависимости от конфигурации реестра.
Лучшие практики
- Используйте
transactionDetails: "signatures", если вам нужны только подписи транзакций.
- Установите
rewards: false, если данные о вознаграждениях не нужны.
- Рассмотрите использование
getBlockHeight сначала, если вам нужен последний блок.
- Для обновлений в реальном времени рассмотрите использование подписки через websocket.
Распространённые ошибки