getSlotLeader возвращает открытый ключ валидатора, который в данный момент является лидером по производству блоков, согласно представлению узла на указанном уровне подтверждения. Лидер отвечает за создание блоков для текущего слота.
Распространенные сценарии использования
- Определение текущего производителя блоков: Узнайте, какой валидатор в данный момент назначен для производства блоков.
- Мониторинг сети: Отслеживайте ротацию лидеров слотов.
- Отладка проблем с транзакциями: В некоторых сложных сценариях информация о текущем лидере слота может быть полезна, если транзакции отправляются непосредственно лидерам, хотя на стороне клиента такая практика встречается редко.
Параметры запроса
Этот метод принимает необязательный объект конфигурации в качестве первого параметра: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
Получить лидеров для диапазона предстоящих слотов