【免费下载链接】solana-pumpfun-sniper-bot
eShikhon PYTH-Batch-N232-1
本文为 solana-pumpfun-sniper-bot Solana狙击机器人的报错修复清单,系统讲解空交易(EMPTY TRANSACTION)、RPC节点不支持(410 Gone)、钱包缺代币账户(No token account found)三大常见问题的原因与修复方法,帮助新手快速让机器人跑起来并成功狙击新池子。
📌 项目一览:它如何工作
solana-pumpfun-sniper-bot 是一个 Solana 链上狙击机器人(Sniper Bot):它通过 WebSocket 实时监听 Pump.Fun 与 Raydium 的新流动性池创建事件,一旦新池开放交易,就用固定金额的 WSOL 自动下单,通常能在代币出现在交易界面之前完成买入。
核心功能:
- WSOL Snipe:用 WSOL 狙击新池
- Auto-Sell / TP/SL:自动卖出、止盈(默认 50%)与止损(默认 30%)
- Min Liq / Burn/Lock / Renounce Check:最低流动性、销毁与铸造权限检查
- Fast Buy:低延迟提交交易
✅ 运行前预检:Solana狙击机器人启动5项确认
绝大多数"疑难"报错都源于配置问题,请先依次核对:
- 完成 .env 配置:把 .env.example 复制并重命名为
.env(务必去掉.example后缀),否则启动时每个缺失变量都会报XXX is not set并直接退出进程(检查逻辑见 retrieveEnvVariable)。 - 安装依赖:项目根目录执行
npm install。 - 资金准备:交易资金需换成 WSOL,同时额外保留 SOL 支付 Gas,示例配比
1 SOL / 0.1 WSOL / QUOTE_AMOUNT=0.01。 - Birdeye API Key:
BIRDEYE_API_KEY失效会导致 TP/SL、Min Liq 等功能异常。 - 正确启动:终端执行
npm run buy,入口脚本为 buy.ts。
获取源码:
git clone https://gitcode.com/gh_mirrors/batch13/solana-pumpfun-sniper-bot
完整配置项如下(对照 .env.example 逐项填写):
🔧 问题一:EMPTY TRANSACTION(空交易)报错修复
现象:SolScan 上交易记录显示为空/未成交,日志中买入"成功"却查不到持仓。
原因:.env 中 COMMITMENT_LEVEL 设置过低,机器人读到的是未确认的账户状态,构造出的交易与链上实际状态冲突。
修复:将确认级别改为 finalized:
COMMITMENT_LEVEL=finalized
该值在脚本启动时读取(见 buy.ts#L95),并贯穿账户订阅与交易确认全流程。
🔧 问题二:RPC 节点不支持错误 410 Gone 修复
现象:日志出现如下错误:
Error: 410 Gone: {"jsonrpc":"2.0","error":{"code": 410, "message":"The RPC call or parameters have been disabled."}, "id": "..."}
原因:当前 RPC 节点禁用了机器人所依赖的 RPC 方法(例如实时程序账户订阅),免费或功能受限的公共节点很容易触发。
修复:更换功能完整的 RPC 节点(Shyft、Helius、Quicknode 均可),同步更新两项配置:
RPC_ENDPOINT=https://your-rpc-endpoint
RPC_WEBSOCKET_ENDPOINT=wss://your-rpc-ws-endpoint
💡 狙击场景对 WebSocket 订阅的稳定性与延迟要求很高,RPC 节点的速度直接决定你能否抢在 UI 之前成交。
🔧 问题三:No SOL token account found in wallet 修复
现象:启动阶段直接抛出:
Error: No SOL token account found in wallet: <你的钱包地址>
原因:钱包里没有报价代币(WSOL/USDC)的关联代币账户(ATA)。该错误来自启动时的账户校验(见 buy.ts#L161-L163)。
修复:去任意 DEX 把少量 SOL 换成 WSOL(或 USDC),兑换过程会自动创建代币账户。以 Jupiter 为例:点击 MANUAL 切换手动模式,打开 Use wSOL 开关,再点击 Manage 完成 wrap:
📋 附赠速查:其他高频报错一览
| 报错信息 | 原因 | 解决方法 |
|---|---|---|
PRIVATE_KEY is not set 等 | .env 未重命名或变量缺失 | 重命名 .env.example 为 .env 并补全变量 |
Unsupported quote mint "XXX" | QUOTE_MINT 取值非法 | 仅支持 WSOL 或 USDC(见 buy.ts#L136-L138) |
| TP/SL、Min Liq 不生效 | Birdeye API Key 无效 | 检查并更换 BIRDEYE_API_KEY |
Failed to buy token / Failed to sell token | 网络抖动或余额不足 | 观察重试日志,检查 RPC 与钱包余额 |
需要自行申请 Birdeye Key 的话,可参考下图中的官方引导步骤:
🐞 调试技巧:用 LOG_LEVEL=debug 拿到完整日志
如果报错不在上述清单中,把日志级别调到 debug 再复现,日志会输出完整错误堆栈(代码中所有 logger.debug(e) 细节都会打印出来):
LOG_LEVEL=debug
一次正常的买卖流程日志如下图所示,重点观察 Sent buy tx → Confirmed buy tx → Sent sell tx 的完整链路:
若仍无法定位,请向项目提交 Issue 并附上 debug 级别日志。
🏁 总结:三大数据报错一张表
| 报错 | 核心修复动作 | 相关配置项 |
|---|---|---|
| EMPTY TRANSACTION | 确认级别改为 finalized | COMMITMENT_LEVEL |
| 410 Gone | 更换功能完整的 RPC 节点 | RPC_ENDPOINT / RPC_WEBSOCKET_ENDPOINT |
| No token account found | 先兑换少量 SOL 建立 WSOL 账户 | QUOTE_MINT / QUOTE_AMOUNT |
排查口诀:看报错信息 → 对照清单定位 → 检查 .env → 开 debug 复现。按这个流程,solana-pumpfun-sniper-bot 这类 Solana 狙击机器人的绝大多数报错都能在几分钟内解决。
⚠️ 风险提示:本仓库仅供学习参考,狙击新池属于高风险操作,请务必使用可承受损失的资金,并对交易结果自行负责。
【免费下载链接】solana-pumpfun-sniper-bot
eShikhon PYTH-Batch-N232-1
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考








