getEpochInfo возвращает информацию о текущей эпохе. Это помогает понять текущее состояние сети, насколько далеко сеть продвинулась в текущей эпохе и когда может начаться следующая эпоха. Чтобы лучше понять, как эпохи, слоты и блоки взаимодействуют в Solana, ознакомьтесь с нашей подробной статьей.
Распространенные сценарии использования
- Отслеживание хода эпохи: Отслеживайте индекс текущего слота в эпохе и общее количество слотов в эпохе, чтобы оценить оставшееся время.
- Анализ состояния сети: Получайте номер текущей эпохи, высоту блока и количество транзакций, обработанных в текущей эпохе.
- Проверки синхронизации: Проверяйте, достаточно ли узел синхронизирован с сетью, сравнивая информацию о его эпохе.
Параметры запроса
МетодgetEpochInfo может принимать необязательный объект конфигурации со следующими параметрами:
commitment(строка, необязательно): Задает уровень подтверждения, используемый при запросе к реестру.finalized: Узел запросит самый последний блок, который квалифицированное большинство кластера подтвердило как достигший максимального периода блокировки.confirmed: Узел запросит самый последний блок, за который проголосовало квалифицированное большинство кластера.processed: Узел запросит свой самый последний блок. Обратите внимание, что блок может быть неполным.- Если параметр не указан, по умолчанию используется уровень подтверждения
finalized.
minContextSlot(число, необязательно): Минимальный слот, на котором может быть обработан запрос. Этот параметр позволяет убедиться, что ответ получен из достаточно актуального состояния.
Структура ответа
Полеresult ответа JSON-RPC будет содержать объект со следующими полями:
absoluteSlot(u64): Текущий абсолютный номер слота.blockHeight(u64): Текущая высота блока.epoch(u64): Номер текущей эпохи.slotIndex(u64): Текущий слот относительно начала текущей эпохи.slotsInEpoch(u64): Общее количество слотов в текущей эпохе.transactionCount(u64 | null): Общее количество транзакций, обработанных в текущей эпохе. Может иметь значениеnull, если данные недоступны.
Примеры
1. Получение информации о текущей эпохе (без параметров)
В этом примере запрашивается информация о текущей эпохе с уровнем подтверждения по умолчанию.2. Получение информации о текущей эпохе с уровнем подтверждения ‘confirmed’
В этом примере запрашивается информация об эпохе с уровнем подтвержденияconfirmed.
Рекомендации для разработчиков
- Уровни подтверждения: Выбор
commitmentможет влиять на актуальность и окончательность данных.processed— самый быстрый, но наименее безопасный вариант, аfinalized— самый безопасный, но может немного отставать. Подробнее см. в материале об уровнях подтверждения. - Доступность
transactionCount: ПолеtransactionCountможет иметь значениеnull, если у узла нет оперативного доступа к этой информации или она не отслеживается для указанного уровня подтверждения. - Длительность эпохи: Количество
slotsInEpochможет различаться. Чтобы получить дополнительные сведения о расписании эпох, используйтеgetEpochSchedule.
getEpochInfo для получения сведений о текущей эпохе в сети Solana.
Связанные методы
getEpochSchedule
Получение сведений о расписании эпох
getSlot
Получение номера текущего слота