Phase 1 - 基础概念
核心要点
- 通过 Alchemy 接入 Solana RPC
- 理解 Mainnet 和 Devnet 的区别
- 连接到 Devnet 进行测试
技术栈
[package]
name = "solscan"
version = "0.1.0"
edition = "2024"
[dependencies]
dotenv = "0.15.0"
reqwest = { version = "0.13.1", features = ["json", "blocking"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
solana-client = "3.1.6"
solana-program = "3.0.0"
solana-sdk = "3.0.0"
tokio = { version = "1.49.0", features = ["full"] }Alchemy Dashboard

Phase 2 - 工具实现
功能清单
- ✅ 连接 Solana 钱包查看持仓
- ✅ 清理所有持仓为 0 的代币账户
- ✅ Base58 私钥转换为 JSON 格式
环境配置
安装 Solana CLI:
curl --proto '=https' --tlsv1.2 -sSfL https://solana-install.solana.workers.dev | bash安装 SPL Token 工具:
cargo install spl-token-cli实践成果
- 成功退回 53 个空账户的租金
- 回收约 0.112 SOL
TODO: 整理 Rust Solana 库的具体函数写法
核心概念:Solana 租金机制
简单理解
Solana 的”租金”不是消费,而是押金。
为什么需要租金?
防止资源滥用。每个账户占用验证者的内存和磁盘空间,需要锁定一小笔 SOL 作为押金。
租金豁免 (Rent-Exempt)
- 标准代币账户:165 字节 ≈ 0.002039 SOL
- 押金不会减少,只是被锁住
- 类比:健身房储物柜押金
为什么可以回收?
当代币余额为 0 时,账户仍占用空间。执行 Close Account 指令后:
- 删除账户数据
- 退还押金到主钱包
计算示例
这些 SOL 原本就是你的,只是暂时被锁在废弃账户里。