Phantom 交易失败:Solana 常见错误及解决方法
Solana 上大多数 Phantom 交易失败的原因是:价格变动超出了你的滑点设置、交易在确认之前已过期(约 60 到 90 秒),或者用于支付手续费和租金的 SOL 不足。请先在区块浏览器中查看该交易,然后使用新的报价、更小的金额或更多的 SOL 重试。
快速步骤
- 查看区块浏览器. 在做任何其他操作之前,从 Phantom 的历史记录中把交易在 Solana 浏览器中打开,阅读结果一栏。
- 阅读错误信息. 对照表格中的错误:滑点、区块哈希过期、模拟失败、SOL 不足或程序错误。
- 获取新报价. 对于兑换,关闭旧报价并重新开始,让价格和区块哈希都是最新的。
- 调整金额或滑点. 先尝试更小的金额;只有在你能接受更差价格时才提高滑点。
- 必要时充值 SOL. 保留足够的 SOL 支付手续费和新代币账户的租金,然后重试。
- 及时批准. 在大约一分钟内确认;使用 Ledger 时,在开始之前先在设备上打开 Solana 应用。
交易失败很烦人,但在 Solana 上很常见,尤其是在网络繁忙时兑换 meme 币。重试之前,先弄清楚交易是否真的失败了。Phantom 帮助中心提醒,即使应用显示错误,交易也可能仍在处理中,并建议在重试前先查看历史记录和区块浏览器(Phantom 帮助中心,2026)。
第一步:真的失败了吗?
- 在 Phantom 中打开“活动”或“历史记录”,点击该交易。
- 在 Solscan 或 Solana Explorer 等 Solana 浏览器中打开它,或者在那里搜索你的钱包地址。
- 查看结果一栏。“Success”表示交易成功。红色错误信息会告诉你失败的原因。如果根本找不到这笔交易,说明它从未上链。
这几种情况下的手续费有所不同。一笔已经上链但随后失败的交易仍需支付网络手续费,因为验证者已经处理了它(Solana Foundation,2026)。一笔未通过 Phantom 预览或直接过期的交易从未上链,所以不收取任何费用。
常见失败原因
| 错误或症状 | 通常意味着什么 | 解决方法 |
|---|---|---|
滑点错误,常见为 0x1771 | 从报价到执行期间,价格变动超出了你的滑点容忍度 | 获取新报价后重试;尝试更小的金额;只有在你能接受更差价格时才提高滑点 |
TransactionExpiredBlockheightExceeded、“block height exceeded”(超出区块高度)、“transaction expired”(交易已过期)、“Blockhash not found”(找不到区块哈希) | 交易在其区块哈希过期之前没有得到确认 | 重试并及时批准;如果交易从未上链,则不会扣费 |
Transaction simulation failed | 交易在发送前的模拟运行中失败,例如由于余额、滑点或程序规则的原因 | 阅读错误信息的其余部分;尝试更小的金额并检查滑点 |
“Not Enough SOL”或 insufficient funds for rent | SOL 不足以支付手续费,或者交易会使某个账户低于 Solana 的租金最低余额 | 充值 SOL 或少发送一点;参见 SOL 不足 |
Custom program error: 0x1 | 某个程序返回了错误代码 1;在 Solana 的代币程序中,这表示该账户持有的代币数量不足 | 检查代币余额和金额;用更小的金额重试 |
| 只在网络繁忙时失败 | 网络拥堵;低优先级的交易会被丢弃 | 等几分钟后重试 |
以上错误字符串是 Solana 钱包和浏览器报告的形式;Phantom 可能会显示更简短的版本。
Phantom 兑换中的滑点
滑点是你在报价与兑换实际执行之间能够接受的最大价格变动。如果市场变动超出这个范围,兑换会在链上被取消,而不是以更差的价格成交。对于波动快或流动性差的 meme 币,这种情况经常发生。
Phantom 的兑换设置中有一个自动滑点选项,Phantom 表示它适合大多数兑换;提高容忍度意味着接受更差的价格(Phantom 帮助中心,2026)。实用规则:
- 先保持自动滑点,直接用新报价重试。
- 尝试更小的金额。小池子里的大额订单对价格的影响更大。
- 在新代币上提高滑点时要非常小心。高滑点会让你成为在你前后抢先交易的机器人的轻松目标。
- 如果某个代币可以买入但每次卖出都失败,它可能是貔貅盘(honeypot)。参见 Phantom 中的 meme 币安全。
Phantom 对大多数兑换收取 0.85% 的手续费,确认前会显示(Phantom 帮助中心,2026)。你可以用我们的兑换成本计算器查看一笔交易的总成本,更多详情请参阅 Phantom 兑换如何运作。
区块哈希过期:60 到 90 秒的窗口
每笔 Solana 交易都包含一个最近的区块哈希,相当于一种时间戳。Solana 文档解释说,区块哈希在大约 150 个区块内有效,按每个时隙 400 到 600 毫秒计算,大约是 60 到 90 秒(Solana 文档,2026)。如果交易没有在这个窗口内被处理,验证者就会拒绝它,之后也永远不会再被处理。
所以过期的交易可以放心重试:旧的那笔已经作废了。交易过期通常是因为你等了太久才批准、Ledger 确认耗时过长,或者网络拥堵。请及时批准;如果你使用 Ledger,请在开始之前就在设备上打开 Solana 应用。
“模拟失败”与 Phantom 的预览
在你签名之前,Phantom 会模拟这笔交易,向你展示钱包中将发生的变化。如果模拟本身失败,你可能会看到模拟错误,或者 Phantom 无法预测结果的警告。Phantom 帮助中心表示,仅凭模拟失败并不能证明某个代币是恶意的,并建议尝试更小的金额并检查滑点(Phantom 帮助中心,2026)。
另一种情况是红色警告“This dApp could be malicious. Do not proceed unless you are certain it is safe.”(此 dApp 可能是恶意的。除非你确定它是安全的,否则不要继续。)当 Phantom 无法模拟来自某个网站的交易时,就会出现这个警告。请认真对待,在继续之前阅读 Phantom 的 dApp 警告。
Ledger 用户
如果你用 Ledger 签名,很多失败都是超时造成的:交易在等待设备时过期了。请更新 Ledger 固件和 Solana 应用,在批准前解锁设备并打开 Solana 应用;如果某个 dApp 需要,请在 Solana 应用中开启盲签(更新后它可能会被关闭)。参见在 Phantom 中使用 Ledger。
不要做的事
- 服务中断期间不要狂按重试按钮。先查看区块浏览器和 Phantom 的官方 X 账号。
- 不要为了“修复”失败的交易而把助记词交给任何人。任何正规的解决方法都不需要它。
- 不要安装在搜索结果或私信中找到的“交易加速器”或“解除卡顿”工具。
常见问题
Phantom 交易失败会损失 SOL 吗?
如果交易已经上链然后失败,仍会收取少量网络手续费。如果交易未通过 Phantom 的预览或在上链前过期,则不收取任何费用。
Solana 上的 0x1771 是什么意思?
这是兑换程序在超出滑点容忍度时常返回的程序错误。请获取新报价、尝试更小的金额,或者只有在你能接受更差价格时才提高滑点。
为什么我的交易显示 block height exceeded?
Solana 交易在其区块哈希生成后大约 60 到 90 秒过期。如果没有及时确认,它就会被永久丢弃,所以你可以放心重试。
Phantom 显示了错误,但兑换却成功了,为什么?
交易仍在处理时,应用可能会显示错误。Phantom 建议在重试前先查看历史记录和区块浏览器,以免重复兑换。
我应该把滑点设得很高来避免失败吗?
通常不应该。高滑点会让你以差得多的价格成交,并让你成为交易机器人的目标。请先用自动滑点或更小的金额重试。