signatureSubscribe RPC 方法

订阅以在具有指定签名的交易达到指定的确认级别时接收通知。

这是对单个通知的订阅。一旦通知 signatureNotification 被 RPC 服务器发送后,订阅将自动取消。

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

params

stringrequired

交易签名,作为 base-58 编码的字符串

交易签名必须是交易中的第一个签名(有关详细信息,请参阅交易 ID)。

objectoptional

包含以下字段的配置对象:

result

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

订阅 ID(用于取消订阅)

通知格式:

通知将是一个 RpcResponse JSON 对象,其中的 value 包含一个对象,包含以下内容:

  • slot: <u64> - 对应的 slot。
  • value: <object|string> - 一个通知值 RpcSignatureResult,结果可能是:
    • enableReceivedNotificationtrue 且签名已接收时:字面字符串 "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?