Метод RPC signatureSubscribe

Подпишитесь, чтобы получать уведомления, когда транзакция с указанной подписью достигнет заданного уровня подтверждения.

Это подписка на одно уведомление. Она автоматически отменяется сервером после того, как уведомление, signatureNotification, будет отправлено RPC.

{
"jsonrpc": "2.0",
"id": 1,
"method": "signatureSubscribe",
"params": [
"2EBVM6cB8vAAD93Ktr6Vd8p67XPbQzCJX47MpReuiCXJAtcjaxpvWpcg9Ege1Nr5Tk3a2GFrByT7WPBjdsTycY9b",
{
"commitment": "finalized",
"enableReceivedNotification": false
}
]
}

params

stringrequired

подпись транзакции в виде строки, закодированной в base-58

Подпись транзакции должна быть первой подписью из транзакции (см. идентификатор транзакции для получения дополнительной информации).

objectoptional

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

result

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

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

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

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

  • slot: <u64> - соответствующим слотом.
  • value: <object|string> - значением уведомления RpcSignatureResult, которое может быть:
    • когда enableReceivedNotification равно true и подпись получена: строкой "receivedSignature", или
    • когда подпись обработана: err: <object|null>:
      • null если транзакция успешно обработана на указанном уровне подтверждения, или
      • TransactionError, если транзакция завершилась с ошибкой

Примеры ответов:

Ниже приведён пример ответа уведомления об успешно обработанных транзакциях:

{
"jsonrpc": "2.0",
"method": "signatureNotification",
"params": {
"result": {
"context": {
"slot": 5207624
},
"value": {
"err": null
}
},
"subscription": 24006
}
}

Ниже приведён пример ответа уведомления об успешно полученной подписи транзакции:

{
"jsonrpc": "2.0",
"method": "signatureNotification",
"params": {
"result": {
"context": {
"slot": 5207624
},
"value": "receivedSignature"
},
"subscription": 24006
}
}

Is this page helpful?