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オブジェクトになります:

  • 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?