sendTransaction RPC 方法
提交已签名的交易到集群进行处理。
此方法不会以任何方式更改交易;它将客户端创建的交易原样传递到节点。
如果节点的 RPC 服务接收到交易,此方法会立即成功,而无需等待任何确认。此方法的成功响应并不保证交易已被集群处理或确认。
尽管 RPC 服务会合理地重试提交,但如果交易的 recent_blockhash
在落地之前过期,交易可能会被拒绝。
使用 getSignatureStatuses
确保交易已被处理并确认。
在提交之前,将执行以下预检:
- 验证交易签名
- 根据预检承诺指定的银行 slot 模拟交易。如果失败,将返回错误。如果需要,可以禁用预检。建议指定相同的承诺和预检承诺以避免混淆行为。
返回的签名是交易中的第一个签名,用于标识交易(交易 ID)。此标识符可以在提交之前轻松从交易数据中提取。
$ curl https://api.devnet.solana.com -s -X \> POST -H "Content-Type: application/json" -d '> {> "jsonrpc": "2.0",> "id": 1,> "method": "sendTransaction",> "params": [> "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT"> ]> }> '
params
stringrequired
完全签名的交易,作为编码字符串。
objectoptional
包含以下字段的配置对象:
result
Response
{"jsonrpc": "2.0","result": "2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb","id": 1}
string
嵌入在事务中的第一个事务签名,作为 base-58 编码字符串(事务 ID)
Is this page helpful?