Skip to main content
POST
sendTransaction
此方法不会以任何方式更改交易;它将客户端创建的交易原样传递给节点。 如果节点的 rpc 服务接收到交易,此方法会立即成功,而无需等待任何确认。此方法的成功响应并不保证交易被集群处理或确认。 虽然 rpc 服务会合理地重试提交,但如果交易的 recent_blockhash 在交易落地之前过期,交易可能会被拒绝。 使用 getSignatureStatuses 确保交易被处理和确认。
对于对延迟敏感的提交,Helius Sender 接受相同的 sendTransaction 请求,并同时通过所有路径(Helius, Jito, Harmonic, Rakurai 等)提交。它不消耗 API 积分—每笔交易支付 SOL 小费。请参阅”我应该选择哪个选项?” 部分。可运行示例:使用 Sender 发送已签名交易。
提交之前,将进行以下预检:
  1. 验证交易签名
  2. 根据预检承诺指定的银行时隙模拟交易。失败时将返回错误。如果需要,可以禁用预检。建议指定相同的承诺和预检承诺,以避免混淆行为。
返回的签名是交易中的第一个签名,用于标识交易(交易ID)。在提交之前,可以轻松地从交易数据中提取该标识符。

请求参数

string
必填
完全签名的Solana交易,编码为base-58字符串以提交到区块链。
string
用于Solana交易有效载荷的数据编码格式。
  • base58
  • base64
boolean
为true时,绕过Solana的预检交易验证以加快提交速度。
string
Solana网络用于交易验证检查的承诺级别。
  • confirmed
  • finalized
  • processed
number
Solana交易提交失败时自动重试的最大尝试次数。
number
交易处理所需的最小Solana区块链时隙。

授权

api-key
string
query
必填

您的Helius API密钥。您可以在仪表板中免费获取一个。

请求体

application/json
jsonrpc
enum<string>
默认值:2.0

JSON-RPC协议版本。

可用选项:
2.0
示例:

"2.0"

id
string
默认值:1

请求的唯一标识符。

示例:

"1"

method
enum<string>
默认值:sendTransaction

要调用的RPC方法名称。

可用选项:
sendTransaction
示例:

"sendTransaction"

params
(string | object)[]

发送交易的参数。

完全签名的 Solana 交易,编码为 base-58 字符串,用于区块链提交。

示例:

"4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT"

响应

成功发送交易。

jsonrpc
enum<string>

JSON-RPC 协议版本。

可用选项:
2.0
示例:

"2.0"

id
string

与请求匹配的标识符。

示例:

"1"

result
string

用于跟踪确认状态和交易历史的唯一 Solana 交易签名。

示例:

"2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb"