Skip to main content
Метод RPC getSlotLeader возвращает открытый ключ валидатора, который в данный момент является лидером по производству блоков, согласно представлению узла на указанном уровне подтверждения. Лидер отвечает за создание блоков для текущего слота.

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

  • Определение текущего производителя блоков: Узнайте, какой валидатор в данный момент назначен для производства блоков.
  • Мониторинг сети: Отслеживайте ротацию лидеров слотов.
  • Отладка проблем с транзакциями: В некоторых сложных сценариях информация о текущем лидере слота может быть полезна, если транзакции отправляются непосредственно лидерам, хотя на стороне клиента такая практика встречается редко.

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

Этот метод принимает необязательный объект конфигурации в качестве первого параметра:
  1. options (object, необязательный): Необязательный объект конфигурации со следующими полями:
    • commitment (string, необязательный): Задает уровень подтверждения для запроса. Поддерживаемые значения: finalized, confirmed и processed. Если параметр не указан, используется уровень подтверждения по умолчанию для узла RPC (обычно finalized). Лидер определяется на основе слота, соответствующего этому уровню подтверждения.
    • minContextSlot (number, необязательный): Минимальный слот, на котором может быть обработан запрос. Этот параметр задает минимальный слот для контекста узла.

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

Поле result ответа JSON-RPC содержит одну строку в кодировке base58, представляющую открытый ключ (идентификатор) текущего лидера слота. Пример ответа:

Примеры

1. Получение текущего лидера слота с уровнем подтверждения по умолчанию

В этом примере текущий лидер слота запрашивается с использованием уровня подтверждения узла по умолчанию (обычно finalized).

2. Получение текущего лидера слота с уровнем подтверждения confirmed

В этом примере запрашивается лидер последнего слота, достигшего уровня подтверждения confirmed.

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

  • Динамический характер: Лидеры слотов меняются часто — каждые несколько слотов, обычно каждые 4 слота. Результат этого вызова представляет собой снимок на конкретный момент времени, основанный на текущем представлении узла и выбранном уровне подтверждения.
  • Уровень подтверждения: Уровень подтверждения влияет на то, какой слот считается «текущим» при определении лидера. При использовании processed вы получите лидера самого последнего слота, о котором известно узлу. Этот лидер может быстро измениться, а слот — еще не быть подтвержден более широкой сетью.
  • Расписание лидеров: Последовательность лидеров слотов определяется расписанием лидеров, которое рассчитывается в начале каждой эпохи. Подробнее об этом процессе рассказывается в нашем руководстве Слоты, блоки и эпохи. Чтобы получить более полную информацию о будущих лидерах, используйте getLeaderSchedule.
  • Представление узла: Возвращаемый лидер слота определяется на основе информации, доступной конкретному запрашиваемому узлу RPC. Из-за задержек в сети представления разных узлов могут немного различаться.
getSlotLeader позволяет быстро определить валидатора, который в данный момент отвечает за производство блоков. Чтобы получить более полную информацию о ротации лидеров, используйте getLeaderSchedule.

Связанные методы

getLeaderSchedule

Получить полное расписание лидеров для эпохи

getSlotLeaders

Получить лидеров для диапазона предстоящих слотов