与 pumpfun_trade 交易逻辑相同,钱包改为 sol-safekey 加密文件或备用 KEYPAIR_BASE58。
本 crate 使用 crates.io 的
sol-safekey 0.1.8和sol-trade-sdk 4.0.22,不再要求本地../sol-safekey目录。
- 代币须在 PumpFun 内盘(未毕业);已毕业请用
pumpswap_trade_with_safekey。 - 在
config/*/solana.yaml中配置keystore_path(如./keystore.json),运行时输入密码或设置KEYSTORE_PASSWORD。 - 若未配置
keystore_path,可设置环境变量KEYPAIR_BASE58(仅应急,安全性低于 keystore)。
安装 CLI 并生成 keystore:
cargo install sol-safekey --version 0.1.8 --features full --locked
sol-safekey start依次选择“创建加密私钥”→“导入现有私钥并加密”→“保存为 Keystore 文件”,并填写本 crate 的 keystore.json 路径。
然后在 pumpfun_trade_with_safekey/config/dev/solana.yaml 中写入 keystore_path: "./keystore.json"。
更完整的 keystore、SWQoS、nonce 说明见 pumpswap_trade_with_safekey/README_CN.md(协议为 PumpSwap,配置结构相同)。
- 按上文安装可选的
sol-safekeyCLI 并生成keystore.json;库依赖由 Cargo 自动下载。 - 在本目录执行:
cp .env.example .env
cp config/dev/solana.yaml.example config/dev/solana.yaml
cp config/dev/trading.yaml.example config/dev/trading.yaml- 编辑
solana.yaml:keystore_path、SWQoS、nonce 等。.env/yaml勿提交 Git。
cd pumpfun_trade_with_safekey
./run.sh <MINT_ADDRESS>cargo build --release
# 二进制:build-cache/release/pumpfun_trade_with_safekey
./build-linux-release.sh # Linux 部署包- 默认 1 轮:读取买前余额 → 买入并确认 → 等约 30 秒 → 仅卖出本轮余额增量(见
src/run.rs中ROUNDS)。 - ≥2 个 SWQoS 需配置 durable nonce;YAML 中空字符串占位不生效时可依赖
NONCE_ACCOUNT。 - 卖出前重新
from_mint_by_rpc,与pumpfun_trade一致。 - 买入使用
SimpleBuyParams + BuyAmount::WithMaxInput,卖出使用SellAmount::ExactInput;买卖滑点默认均为 500 bps(5%)。 SKIP_TRADING会保留钱包解锁和 RPC 探测,但阻止买卖交易提交。
MIT License
https://fnzero.dev/ · https://github.com/0xfnzero/fnzero-examples