适用于尚未毕业到 PumpSwap、仍在 PumpFun bonding curve 上的代币。私钥通过 PRIVATE_KEY 或 config/*/solana.yaml 的 private_key 配置。
提示:代币已 毕业到 PumpSwap 外盘 时,请使用
pumpswap_trade/pumpswap_trade_with_safekey。
- 何时使用本示例
- 功能特性 · 安装 · 配置 · 运行 · 构建
- 与 PumpSwap 示例的区别
使用 pumpfun_trade |
请改用 pumpswap_trade |
|---|---|
| 代币仍在 PumpFun 内盘(bonding curve) | 代币已 毕业 到 PumpSwap 外盘 AMM |
PumpFunParams::from_mint_by_rpc 能成功 |
需要按 mint 查找 池地址 走 PumpSwap |
若误对内盘示例传入已毕业 mint,程序在「解析 bonding curve」步骤会失败。
- 协议:
DexType::PumpFun,链上参数通过PumpFunParams::from_mint_by_rpc获取;卖出前再次拉取,避免creator_vault等字段过期。 - 流程:买入 → 等待约 30 秒 → 按钱包该 mint 的全部余额卖出;默认 1 轮(修改
src/run.rs中ROUNDS、REST_SECS)。 - 多 SWQoS、Durable Nonce(≥2 个 SWQoS 时必填有效 nonce)、trading.yaml 滑点与 Gas 配置——与
pumpswap_trade一致。 - Nonce 占位:
solana.yaml里buy_nonce_accounts: [""]等空串会被忽略,可仅用环境变量NONCE_ACCOUNT。
git clone https://github.com/0xfnzero/fnzero-examples.git
cd fnzero-examples/pumpfun_trade需安装 Rust / Cargo:https://rustup.rs
运行前必做:从模板生成本地文件(勿提交;见仓库根目录 README_CN.md「运行前准备与隐私」):
cp .env.example .env
cp config/dev/solana.yaml.example config/dev/solana.yaml
cp config/dev/trading.yaml.example config/dev/trading.yaml
# prod 环境同理复制 config/prod/*.example再编辑 .env 与 yaml:PRIVATE_KEY、SOLANA_RPC_URL、SWQoS api_token、nonce_config 等。交易参数在 trading.yaml(买入金额、滑点、Gas)。
钱包与 SWQoS 细则可参考 pumpswap_trade/README_CN.md(仅协议与 mint 不同)。
./run.sh <MINT_ADDRESS>
# 或
cargo run --release -- <MINT_ADDRESS>环境变量 APP_ENV=dev|prod 决定读取 config/dev 或 config/prod。
本目录 .cargo/config.toml 将产物输出到 build-cache/release/。
cargo build --release
./build-cache/release/pumpfun_trade <MINT_ADDRESS>Linux 部署包:
./build-linux-release.sh| 项目 | pumpfun_trade |
pumpswap_trade |
|---|---|---|
| DEX | PumpFun 内盘 | PumpSwap 外盘 |
| 池子 | 无独立 pool;由 mint 推导 bonding curve | find_pool_by_mint 查池 |
| Mint 要求 | 未毕业内盘币 | 已在外盘有池 |
加密钱包版本见 pumpfun_trade_with_safekey/README_CN.md。
MIT License