Метод RPC logsSubscribe

Подписка на логирование транзакций

{
"jsonrpc": "2.0",
"id": 1,
"method": "logsSubscribe",
"params": [
{
"mentions": ["11111111111111111111111111111111"]
},
{
"commitment": "finalized"
}
]
}

params

string | objectrequired

критерии фильтрации для получения логов по типу аккаунта. В настоящее время поддерживаются следующие типы фильтров:

  • all - подписка на все транзакции, кроме простых транзакций голосования
  • allWithVotes - подписка на все транзакции, включая простые транзакции голосования
  • Объект со следующим полем:
    • mentions: [ <string> ] - массив, содержащий один Pubkey (в виде строки, закодированной в base-58); если указан, подписка будет только на транзакции, упоминающие этот адрес

Поле mentions в настоящее время поддерживает только один Pubkey в строковом формате на один вызов метода. Указание дополнительных адресов приведет к ошибке.

objectoptional

Объект конфигурации, содержащий следующие поля:

result

Response
{
"jsonrpc": "2.0",
"result": 24040,
"id": 1
}
integer

ID подписки (необходим для отмены подписки)

Формат уведомления:

Уведомление будет представлено в виде JSON-объекта RpcResponse со значением, равным:

  • signature: <string> - Подпись транзакции, закодированная в base58.
  • err: <object|null> - Ошибка, если транзакция не удалась, или null, если транзакция прошла успешно. Определения ошибок транзакций
  • logs: <array[string]> - Массив сообщений логов, которые инструкции транзакции вывели во время выполнения.

Пример:

{
"jsonrpc": "2.0",
"method": "logsNotification",
"params": {
"result": {
"context": {
"slot": 5208469
},
"value": {
"signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
"err": null,
"logs": [
"SBF program 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri success"
]
}
},
"subscription": 24040
}
}

Is this page helpful?