要确认的交易签名数组,以 base-58 编码的字符串表示
签名确认后的区块数,如果已根确认或未找到则为 null
交易的集群确认状态;为 “processed”、“confirmed” 或 “finalized”
代码示例
基本请求
curl http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0",
"id": 1,
"method": "getSignatureStatuses",
"params": [
[
"5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW",
"5j7s6NiJS3JAkvgkoc18WVAsiSaci2pxB2A6ueCJP4tprA2TFg9wSyTLeYouxPBJEMzJinENTkpA52YStRW5Dia7"
]
]
}'
使用 web3.js
import { Connection } from '@solana/web3.js';
const connection = new Connection('http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
const signatures = [
'5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW',
'5j7s6NiJS3JAkvgkoc18WVAsiSaci2pxB2A6ueCJP4tprA2TFg9wSyTLeYouxPBJEMzJinENTkpA52YStRW5Dia7'
];
const statuses = await connection.getSignatureStatuses(signatures);
console.log(statuses);
使用 Python
from solana.rpc.api import Client
client = Client("http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY")
signatures = [
"5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW",
"5j7s6NiJS3JAkvgkoc18WVAsiSaci2pxB2A6ueCJP4tprA2TFg9wSyTLeYouxPBJEMzJinENTkpA52YStRW5Dia7"
]
response = client.get_signature_statuses(signatures)
print(response)
注意事项
- 返回交易签名列表的状态
- 默认情况下仅搜索近期状态缓存(最近约 5 分钟的交易)
- 将 searchTransactionHistory 设置为 true 将在账本中搜索更早的记录
- 响应数组中的 null 值表示未找到的签名
- confirmationStatus 表示交易在网络上的最终确认程度
最佳实践
- 使用此方法检查最近提交的交易状态
- 在单个请求中传入多个签名以减少网络开销
- 仅在需要时将 searchTransactionHistory 设置为 true(会影响性能)
- 适当处理响应数组中的 null 值
- 检查 confirmationStatus 以确定交易最终确认级别