Tx Doctor / Solana 错误库
Solana 错误库
每条都讲清楚:这个错误是什么意思、由哪个程序抛出、以及让它消失的具体步骤。
诊断我的交易滑点超出允许范围
Custom 6001 — 价格波动超过了你允许的滑点,路由拒绝成交并取消了这笔交易。没有发生兑换,代币也没有移动。
代币余额不足
Token 0x1 — 代币账户里的代币不足以完成转账,或者这笔数量已被同一交易里更早的指令花掉。
SOL 不足以支付手续费
InsufficientFundsForFee — 付费账户里的 SOL 不够支付网络手续费,也不够支付交易新建账户所需的租金。
找不到区块哈希(已过期)
BlockhashNotFound — 交易引用的近期区块哈希已经过期,网络拒绝处理。这是超时,不是资金出了问题。
代币账户被冻结
Token 0x11 — 代币发行方冻结了这个代币账户,在发行方解冻前,该账户无法收发这个代币。
代币账户所有者不匹配
Token 0x4 — 这个代币账户属于另一个钱包,而不是签名者,程序因此拒绝移动代币。
账户未初始化或不存在
AccountNotFound — 交易需要的某个账户在链上还不存在,程序无法读写它。
交易已被处理
AlreadyProcessed — 这笔已签名交易之前就提交并处理过了。通常是重复提交,而不是新的失败。
计算预算超限
ProgramFailedToComplete — 交易在完成前用尽了计算单元,程序中途被中止。
自定义程序错误(未知错误码)
Custom ... — 某个程序用它自己定义、只有它的开发者才知道的错误码拒绝了这笔交易。失败前后的日志通常能看出原因。
网络太忙,交易未被纳入
AccountInUse — 区块或账户被挤爆,交易被丢弃。链上什么都没发生。
签名验证失败
SignatureFailure — 交易上的签名与消息不匹配:钱包签的字节和提交的字节不是同一份。
交易格式错误或不受支持
SanitizeFailure — 节点无法解析这笔交易:结构不合法,或者使用了端点不支持的版本。
SOL 不足以支付租金
InsufficientFundsForRent — 创建或充值账户后会让其余额低于免租金下限,网络因此拒绝了这笔交易。
账户会低于免租金门槛
Token 0x0 — 代币账户会被取到免租金门槛以下,代币程序不允许。
Mint 不匹配
Token 0x3 — 代币账户持有的 mint 与指令预期的不同——通常是传入了过期或错误的账户。
账户状态无效
Token 0xd — 账户存在,但不处于程序可操作的状态——例如未初始化或已关闭的代币账户。
代币计算溢出
Token 0xe — 代币程序内部的算术溢出了——数量超过该代币的供应量,或超过精度能表示的上限。
滑点参数无效
Custom 6004 — 滑点参数本身被拒绝了:为 0、为负数,或超过程序允许的上限。
缺少平台费账户
Custom 6003 — 路由需要一个平台费账户但没有传入,兑换在执行前就被拒绝了。
路由计算无效
Custom 6002 — 程序内部运算拒绝了这条路由——通常是数量极小、价格冲击极端,或池子几乎没有流动性。
输入或输出索引无效
Custom 6006 — 路由引用了账户列表里不存在的代币位置——这是路由本身畸形,不是市场问题。