getBlockHeight позволяет легко запросить у узла Solana текущую высоту блока. Высота блока — это количество блоков, обработанных с момента создания исходного блока (слот 0).
Этот метод позволяет быстро определить, насколько продвинулась цепочка, или получить последнюю высоту блока для заданного уровня подтверждения.
Распространенные сценарии использования
- Мониторинг продвижения цепочки: Периодически вызывайте этот метод, чтобы отслеживать продвижение цепочки.
- Получение снимка длины цепочки: Определите общее количество блоков, обработанных к определенному моменту с учетом уровня подтверждения.
- Сопоставление с другими данными: Используйте высоту блока как ориентир при анализе других данных или событий в блокчейне.
Параметры
МетодgetBlockHeight может принимать объект конфигурации в качестве первого необязательного параметра. Его также можно вызвать без параметров, чтобы использовать значения по умолчанию:
config(объект, необязательно): объект конфигурации со следующими полями:commitment(строка, необязательно): задает уровень подтверждения для запроса. Значение по умолчанию —finalized.finalized: узел запросит последний блок, который сверхбольшинство кластера подтвердило как достигший максимального периода блокировки.confirmed: узел запросит последний блок, за который проголосовало сверхбольшинство кластера.processed: узел запросит свой последний блок. Обратите внимание, что блок может быть неполным.
minContextSlot(число, необязательно): минимальный слот, на котором можно обработать запрос. Это гарантирует, что возвращенная высота блока получена из слота, равногоminContextSlotили превышающего его.
finalized по умолчанию.
Рекомендации разработчикам
- Уровень подтверждения имеет значение: возвращаемая высота блока может различаться в зависимости от указанного уровня
commitment.finalizedвозвращает наиболее стабильную высоту, аprocessed— более актуальную, но потенциально временную. minContextSlotдля согласованности: используйтеminContextSlot, если нужно гарантировать, что высота блока запрашивается из состояния не старше определенного отслеживаемого слота.- Не номер слота: помните, что высота блока отличается от номера слота. Слот — это период времени, и блок создается не в каждом слоте. Такие слоты называют пропущенными. Высота блока — это количество фактически созданных блоков.
- Базовая проверка состояния цепочки: несмотря на простоту,
getBlockHeightможно использовать для базовой проверки состояния или синхронизации цепочки в вашем приложении или системе мониторинга.
Ответ
Полеresult в ответе JSON-RPC будет содержать одно число:
blockHeight(число): текущая высота блока (u64) узла в соответствии с указанным уровнем подтверждения.
Пример: получение текущей высоты блока
Получим текущую высоту блока через RPC Helius Devnet. Примечание: В приведенных ниже примерах заменитеYOUR_API_KEY фактическим ключом API Helius.