Fuego SKILL
本地Solana代理钱包,支持本地基础设施转账(SOL、USDC、USDT)、Jupiter交换和x402购买。
快速开始
npm install -g fuego-cli
fuego create
输出:
地址:DmFyLRiJtc4Bz75hjAqPaEJpDfRe4GEnRLPwc3EgeUZF
钱包配置:~/.fuego/wallet-config.json
备份:~/.config/solana/fuego-backup.json
前提条件:需要Rust 1.85+和Cargo来构建服务器。
对于OpenClaw代理(自动检测~/.openclaw/workspace)
fuego install
对于手动安装(指定路径)
fuego install --path ~/projects/fuego
- 配置Jupiter API密钥(可选 - 用于交换)
如果您想通过Jupiter进行代币交换,需要API密钥:
在https://portal.jup.ag注册
创建新的API密钥(有免费层)
将其添加到您的Fuego配置中:~/.fuego/config.json:
{
"rpcUrl": "https://api.mainnet-beta.solana.com",
"network": "mainnet-beta",
"jupiterKey": "your-jupiter-api-key-here"
}
没有此密钥,交换将不起作用。余额检查和转账不需要它。
fuego serve
输出:
Fuego服务器正在http://127.0.0.1:8080运行
fuego address
输出:
您的Fuego地址
名称:默认
公钥:DmFy...eUZF
分享此地址,以便人类可以为钱包提供资金。他们可以从任何Solana钱包(Phantom、Solflare等)发送SOL。
选项A:MoonPay(用于法币 → 加密货币)
访问:https://buy.moonpay.com/?currency=SOL&address=YOUR_ADDRESS
最低:~$30 USD
立即到钱包
选项B:手动转账
人类从上面复制地址
从他们的钱包向您的Fuego地址发送SOL
需要SOL用于交易费用(每笔交易0.001 SOL)
发送交易
使用CLI - 这是推荐的方法:
fuego send --token USDC --yes
此单一命令:
使用新块哈希构建交易
本地签名(零网络密钥暴露)
使用适当的错误处理提交到链
返回签名 + 浏览器链接
支持地址簿联系人
通过--token标志支持SOL、USDC、USDT
示例:
fuego send GvCoHGGBR97Yphzc6SrRycZyS31oUYBM8m9hLRtJT7r5 0.25 --token USDC --yes
通过Jupiter交换代币
步骤1:获取报价
首先始终向用户显示预期费率:
fuego quote --input BONK --output USDC --amount 100000
输出显示:
输入金额(自动处理代币小数)
预期输出金额
价格影响
路由详细信息
步骤2:执行交换
在用户确认报价后:
fuego swap --input BONK --output USDC --amount 100000 --slippage 1.0
参数:
--input - 输入代币符号(SOL、USDC、BONK等)或mint地址
--output - 输出代币符号或mint地址
--amount - 代币单位金额(例如100000用于100000 BONK)
--slippage - 滑点容忍度(百分比,默认:0.5%)
交换脚本自动:
从链上获取正确的代币小数
使用BigInt进行精确计算(无浮点错误)
如果无法确定小数,则抛出错误(防止不正确的金额)
前提条件:Jupiter API密钥必须在~/.fuego/config.json中配置
请参阅快速开始的步骤4以获取设置说明
代理就绪架构
代理/脚本 ↓
POST /build-transfer-sol
Fuego服务器(localhost:8080)
• 使用新块哈希构建未签名交易
• 返回base64编码的交易 + 备注
未签名交易
代理/脚本
• 加载~/.fuego/wallet.json(简单的JSON,无密码!)
• 本地签名交易
已签名交易
Fuego服务器(localhost:8080)
• POST /submit-transaction
• 广播到Solana主网
Solana网络
安全模型:
私钥永远不会离开您的机器(客户端签名所有转账)
文件权限提供真正的安全性(chmod 600)
无网络密钥暴露(仅localhost服务器)
标准Solana格式(与CLI工具兼容)
一个例外 - x402支付:
/x402-purch端点处理内部的完整支付流程(包括签名),因为x402需要服务器端支付证明。
这是一个故意的安全权衡:
服务器临时访问私钥仅用于签名特定的x402支付交易,然后立即从内存中清除。
这使得代理购买变得无缝,同时保持所有其他操作的本地优先架构。
API参考
GET /wallet-address
动态获取本地钱包地址。
curl http://127.0.0.1:8080/wallet-address
响应:
{
"success": true,
"data": {
"address": "DmFyLRiJtc4Bz75hjAqPaEJpDfRe4GEnRLPwc3EgeUZF",
"network": "mainnet-beta",
"source": "wallet"
}
}
POST /balance
检查SOL余额。
curl -X POST http://127.0.0.1:8080/balance \
-H "Content-Type: application/json" \
-d '{"network": "mainnet-beta", "address": "YOUR_ADDRESS"}'
响应:
{
"success": true,
"data": {
"sol": 1.234567890,
"lamports": 1234567890,
"network": "mainnet-beta"
}
}