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

Ідентифікатор підписки (потрібен для скасування підписки)

Формат сповіщення:

Сповіщення буде об'єктом JSON RpcResponse зі значенням, що дорівнює:

  • signature: <string> - Підпис транзакції, кодований у base58.
  • err: <object|null> - Помилка, якщо транзакція не вдалася, null, якщо транзакція успішна. Визначення TransactionError
  • 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?