Skip to main content
POST
getAgGenesisCert
Требуется Agave v4.3 или более поздней версии. Более ранние версии не распознают этот метод и возвращают Method not found (-32601).

Определение перехода

Используйте этот метод, чтобы проверить, работает ли кластер с консенсусом Alpenglow. Ответ может иметь три формы:
  • Объект сертификата. Кластер перешел на Alpenglow. result.block.slot — первый слот, созданный в рамках Alpenglow.
  • null. Узел использует Agave v4.3 или более поздней версии, но кластер еще не перешел на Alpenglow.
  • Ошибка -32601. Узел использует версию ниже v4.3. Тип консенсуса кластера неизвестен.
Считайте -32601 признаком неизвестного состояния, а не состояния «переход не выполнен». Если узел не может ответить на этот вопрос, это ничего не говорит о состоянии кластера. После перехода кластера сертификат не меняется. Кешируйте его после первого успешного ответа вместо периодического опроса.

Чтение сертификата

block идентифицирует сертифицированный блок. slot — номер его слота. blockId — это массив из 32 байтов, а не строка в формате base58, используемая в других частях API RPC. signature содержит агрегированную подпись BLS всех валидаторов, подписавших сертификат. bitmap указывает, какие именно валидаторы его подписали, с индексацией по рангу стейка. Для чтения битовой карты необходим тот же список валидаторов, упорядоченный по стейку, который использовал кластер. blockId всегда содержит 32 байта, а signature — 192 байта; в примере оба значения приведены полностью. bitmap не имеет фиксированного размера: он содержит по одному биту на каждого валидатора, поэтому его размер растет вместе с набором валидаторов, а в примере показано короткое значение. CLI Solana возвращает те же данные, что и solana alpenglow-genesis-info.

Авторизации

api-key
string
query
обязательно

Ваш ключ API Helius. Его можно бесплатно получить в панели управления.

Тело

application/json
jsonrpc
enum<string>
по умолчанию:2.0

Версия протокола JSON-RPC.

Доступные опции:
2.0
Пример:

"2.0"

id
string
по умолчанию:1

Уникальный идентификатор запроса.

Пример:

"1"

method
enum<string>
по умолчанию:getAgGenesisCert

Имя вызываемого метода RPC.

Доступные опции:
getAgGenesisCert
Пример:

"getAgGenesisCert"

Ответ

Генезис-сертификат Alpenglow успешно получен. Если кластер ещё не перешёл на новый консенсус, возвращается null.

jsonrpc
enum<string>

Версия протокола JSON-RPC.

Доступные опции:
2.0
Пример:

"2.0"

id
string

Идентификатор, соответствующий запросу.

Пример:

"1"

result
object | null

Генезис-сертификат Alpenglow или null, если кластер всё ещё использует TowerBFT.