You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python调用Jupiter Swap发送交易后部分交易在Solscan显示无数据

问题分析与解决方案

你遇到的情况是交易被节点接收并返回签名,但实际未被打包进区块链,属于交易未确认的问题,而非交易执行失败。以下是针对性的解决步骤:

1. 关闭skipPreflight校验

skipPreflight: True会跳过交易发送前的模拟校验,这意味着即使交易存在签名无效、计算单元不足、余额不够等隐性问题,节点也会先接收并返回签名,但后续会直接丢弃该交易,导致浏览器查不到数据。

修改你的请求参数,移除或设置skipPreflight: False:

data = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sendTransaction",
    "params": [
        encoded_tx,
        {
            "skipPreflight": False,  # 关闭跳过预校验
            "preflightCommitment": "confirmed",
            "encoding": "base64"
        }
    ]
}

2. 添加交易确认轮询逻辑

发送交易后,不要仅依赖返回的签名,必须主动查询交易状态,直到确认其被链上确认。示例代码如下:

import time

def wait_for_tx_confirmation(rpc_url, signature, timeout=30):
    start_time = time.time()
    headers = {"Content-Type": "application/json"}
    while time.time() - start_time < timeout:
        data = {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "getTransaction",
            "params": [
                signature,
                {"commitment": "finalized", "encoding": "jsonParsed"}
            ]
        }
        response = requests.post(rpc_url, headers=headers, json=data)
        result = response.json()
        if "result" in result and result["result"] is not None:
            return True
        time.sleep(1)
    return False

# 发送交易后调用
tx_result = tx_response.json()
if "result" in tx_result:
    signature = tx_result["result"]
    is_confirmed = wait_for_tx_confirmation(rpc_url, signature)
    if not is_confirmed:
        print("交易未被确认,可能已丢失")

3. 正确设置优先级费用(从Jupiter源头处理)

你直接修改生成后的交易可能无法生效,因为Jupiter返回的swapTransaction已经是完整的交易结构。正确的做法是在调用Jupiter报价API时,就传入优先级费用参数,让Jupiter生成包含优先费的交易:

# 示例:请求Jupiter报价时添加优先级费用参数
jupiter_quote_params = {
    "inputMint": "xxx",
    "outputMint": "xxx",
    "amount": "xxx",
    "prioritizationFeeLamports": 1000000  # 直接在这里设置
}
# 发送请求获取报价和swapTransaction

4. 更换可靠的RPC节点

公共RPC节点通常存在负载高、交易丢弃率高的问题,建议使用付费的Solana RPC节点,这类节点稳定性更强,能提升交易的打包成功率。

内容的提问来源于stack exchange,提问作者Lucas Abraham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:52:52