Solana — Solana 钱包和代币操作
v0.1.2Solana 钱包操作,包括创建钱包、检查余额、发送 SOL/代币、通过 Jupiter 进行代币交换以及在 Pump.fun 上发布代币。
1· 2,126·3 当前·3 累计
安全扫描
OpenClaw
安全
high confidence该技能的代码、要求和运行指令与其声明的目的(钱包管理、Jupiter 交换和 Pump.fun 代币发布)一致;它仅请求 Solana 私钥和 Jupiter API 密钥,这些是代码实际使用的。
评估建议
该技能看起来像它所声称的那样工作,但由于它操作您的私钥,因此请将其视为高风险:仅在信任代码时安装。安装前请考虑以下具体点:
- SOLANA_PRIVATE_KEY 授予对钱包的完全控制(可以发送资金)。
- initialize.py 写入/覆盖当前工作目录中的 .env 文件;安装前备份任何现有的 .env 文件。
- SKILL.md 建议使用 'solana-keygen grind' 创建自定义地址,但该二进制文件未被声明 — 如果您想要此功能,则必须单独安装它。
- 该技能将调用外部服务:Jupiter API(需要 JUPITER_API_KEY)和 Solana RPC 端点;预计网络调用用于交换和链上操作。
- 如果您计划使用代币发布功能,请查看 pump.fun 费用收件人和发布逻辑 — 费用/收件人已硬编码为 Pump.fun 程序账户。
- 在隔离的虚拟环境中安装 Python 依赖项,并在将真实私钥导出到环境之前在本地检查脚本。...详细分析 ▾
✓ 用途与能力
名称/描述与代码和运行指令匹配:脚本执行钱包创建、余额检查、SOL/代币转账、Jupiter 报价/交换以及 Pump.fun 代币发布。两个必需的环境变量(SOLANA_PRIVATE_KEY 和 JUPITER_API_KEY)由脚本使用,并适用于声明的功能。
ℹ 指令范围
SKILL.md 告诉用户运行包含的脚本并将 SOLANA_PRIVATE_KEY 存储/导出到 .env 中,代码会读取它;initialize.py 将创建/覆盖 .env 文件(它会警告但将写入磁盘)。README 建议使用外部二进制 'solana-keygen grind' 创建自定义地址,但技能没有声明该二进制文件为必需 — 这是一个信息不匹配。没有指令请求无关文件或秘密存储。
ℹ 安装机制
这是一个仅有指令的技能,带有 requirements.txt 和 SKILL.md 中的明确 'pip install -r requirements.txt'。没有自动安装规格(无远程下载或存档提取)。安装风险是典型的(来自 PyPI 的 Python 包)。
✓ 凭证需求
唯一必需的秘密是 SOLANA_PRIVATE_KEY(主凭证)和 JUPITER_API_KEY;两者都由代码使用。脚本还可以选择使用 SOLANA_RPC_URL 和 JUPITER_API_URL(合理)。请求的环境变量与功能成比例,但 SOLANA_PRIVATE_KEY 授予对钱包的完全控制 — 这是预期的但敏感的。
✓ 持久化与权限
该技能不请求 always:true 或其他高级持久权限。它包含可运行的脚本,但不修改其他技能或系统范围的代理配置。注意:如构建,如果代理允许自主调用技能,则它可以使用提供的私钥发送交易 — 这对于钱包技能来说是正常的,但重要的是要理解。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv0.1.22026/1/26
添加 Pump.fun 代币发布支持,包括新脚本 `scripts/pumpfun.py`。 更新文档,描述如何在 Pump.fun 上发布代币,包括名称、符号、图像、开发者购买和自定义铸造密钥选项。 扩展触发器以识别 "pumpfun"、"pump.fun" 和 "launch token"。 添加发布和配置 Pump.fun 代币的示例和使用说明。
● 可疑
安装命令 点击复制
官方npx clawhub@latest install solana-skills
镜像加速npx clawhub@latest install solana-skills --registry https://cn.clawhub-mirror.com
技能文档
Solana 钱包管理和代币操作为 AI 代理提供服务。
设置
pip install -r requirements.txt
初始化钱包
首先,创建一个新钱包并将私钥保存到您的.env 文件中:
python3 {baseDir}/scripts/initialize.py
这将:
- 生成一个新 Solana 密钥对
- 显示公钥(钱包地址)
- 以 base58 格式将私钥保存到
.env中作为SOLANA_PRIVATE_KEY
export SOLANA_PRIVATE_KEY=$(grep SOLANA_PRIVATE_KEY .env | cut -d '=' -f2)
或源自 .env 文件:
source .env
钱包操作
检查 SOL 余额
python3 {baseDir}/scripts/wallet.py balance
python3 {baseDir}/scripts/wallet.py balance
检查代币余额
python3 {baseDir}/scripts/wallet.py token-balance
python3 {baseDir}/scripts/wallet.py token-balance --owner
发送 SOL
python3 {baseDir}/scripts/wallet.py send
发送 SPL 代币
python3 {baseDir}/scripts/wallet.py send-token
获取钱包地址
python3 {baseDir}/scripts/wallet.py address
Jupiter 交换
获取交换报价
python3 {baseDir}/scripts/jup_swap.py quote
python3 {baseDir}/scripts/jup_swap.py quote SOL USDC 1
执行交换
python3 {baseDir}/scripts/jup_swap.py swap
python3 {baseDir}/scripts/jup_swap.py swap SOL USDC 0.1
列出已知代币
python3 {baseDir}/scripts/jup_swap.py tokens
代币符号:SOL, USDC, USDT, BONK, JUP, RAY, PYTH(或使用完整的铸造地址)Pump.fun 代币发布
发布代币
python3 {baseDir}/scripts/pumpfun.py launch --name "Token Name" --symbol "TKN" --image ./logo.png
带开发者购买的发布
python3 {baseDir}/scripts/pumpfun.py launch --name "Token Name" --symbol "TKN" --image ./logo.png --buy 0.5
自定义铸造密钥发布
python3 {baseDir}/scripts/pumpfun.py launch --name "Token Name" --symbol "TKN" --image ./logo.png --mint-key
使用以 'pump' 结尾的自定义地址以获得更合法的代币。使用以下命令生成:
solana-keygen grind --ends-with pump:1
选项
--name- 代币名称(必需)--symbol- 代币符号(必需)--image- 代币图像路径(必需)--description或-d- 代币描述--buy或-b- 开发者购买金额(以 SOL 计)--mint-key或-m- 自定义铸造私钥(base58)
网络配置
默认情况下,钱包操作在 主网 运行。使用--network 切换:
python3 {baseDir}/scripts/wallet.py balance --network devnet
python3 {baseDir}/scripts/wallet.py balance --network testnet
环境变量
| 变量 | 描述 |
|---|---|
SOLANA_PRIVATE_KEY | base58 编码的私钥(必需) |
JUPITER_API_KEY | Jupiter API 密钥用于交换(必需) |
SOLANA_RPC_URL | 自定义 RPC 端点(可选) |
示例
# 初始化新钱包
python3 {baseDir}/scripts/initialize.py
# 检查您的 SOL 余额
python3 {baseDir}/scripts/wallet.py balance
# 向另一个钱包发送 0.1 SOL
python3 {baseDir}/scripts/wallet.py send 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU 0.1
# 检查 USDC 余额(主网 USDC 铸造地址)
python3 {baseDir}/scripts/wallet.py token-balance EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
# 向另一个钱包发送 10 USDC
python3 {baseDir}/scripts/wallet.py send-token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU 10
# 获取 1 SOL 到 USDC 的交换报价
python3 {baseDir}/scripts/jup_swap.py quote SOL USDC 1
# 交换 0.5 SOL 到 USDC
python3 {baseDir}/scripts/jup_swap.py swap SOL USDC 0.5
# 在 Pump.fun 上发布代币
python3 {baseDir}/scripts/pumpfun.py launch --name "My Token" --symbol "MTK" --image ./logo.png
# 带开发者购买发布
python3 {baseDir}/scripts/pumpfun.py launch --name "My Token" --symbol "MTK" --image ./logo.png --buy 1
常见代币铸造地址(主网)
| 代币 | 铸造地址 |
|---|---|
| USDC | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| USDT | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB |
| BONK | DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 |
使用场景
- 创建钱包 用于新 Solana 账户
- 检查余额 用于 SOL 或任意 SPL 代币
- 发送 SOL 用于支付或转账
- 发送代币 用于 SPL 代币转账
- 交换代币 通过 Jupiter 聚合器
- 发布代币 在 Pump.fun 上带自定义图像和开发者购买
- devnet 测试 使用
--network devnet
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制