ClawSkills logoClawSkills

Solana

Solana 钱包操作——创建钱包、检查余额、发送 SOL/代币、通过 Jupiter 进行交换、在 Pump.fun 上发布代币。

介绍

# Solana Wallet ◎

面向 AI 智能体的 Solana 钱包管理与代币操作。

## 安装

```bash pip install -r requirements.txt ```

## 初始化钱包

首先,创建一个新钱包并将私钥保存到您的 `.env` 文件中:

```bash python3 {baseDir}/scripts/initialize.py ```

这将执行以下操作: - 生成一个新的 Solana 密钥对 - 显示公钥(钱包地址) - 将私钥以 base58 格式保存到 `.env` 文件中的 `SOLANA_PRIVATE_KEY`

**重要提示**:运行 initialize.py 后,将私钥导出到您的环境变量中: ```bash export SOLANA_PRIVATE_KEY=$(grep SOLANA_PRIVATE_KEY .env | cut -d '=' -f2) ```

或者 source .env 文件: ```bash source .env ```

## 钱包操作

### 检查 SOL 余额 ```bash python3 {baseDir}/scripts/wallet.py balance python3 {baseDir}/scripts/wallet.py balance <wallet_address> ```

### 检查代币余额 ```bash python3 {baseDir}/scripts/wallet.py token-balance <token_mint_address> python3 {baseDir}/scripts/wallet.py token-balance <token_mint_address> --owner <wallet_address> ```

### 发送 SOL ```bash python3 {baseDir}/scripts/wallet.py send <recipient_address> <amount_in_sol> ```

### 发送 SPL 代币 ```bash python3 {baseDir}/scripts/wallet.py send-token <token_mint_address> <recipient_address> <amount> ```

### 获取钱包地址 ```bash python3 {baseDir}/scripts/wallet.py address ```

## Jupiter 交换

### 获取交换报价 ```bash python3 {baseDir}/scripts/jup_swap.py quote <input_token> <output_token> <amount> python3 {baseDir}/scripts/jup_swap.py quote SOL USDC 1 ```

### 执行交换 ```bash python3 {baseDir}/scripts/jup_swap.py swap <input_token> <output_token> <amount> python3 {baseDir}/scripts/jup_swap.py swap SOL USDC 0.1 ```

### 列出已知代币 ```bash python3 {baseDir}/scripts/jup_swap.py tokens ```

代币符号:SOL, USDC, USDT, BONK, JUP, RAY, PYTH(或使用完整的铸造地址)

## Pump.fun 代币启动

### 启动代币 ```bash python3 {baseDir}/scripts/pumpfun.py launch --name "Token Name" --symbol "TKN" --image ./logo.png ```

### 启动并包含开发者买入 ```bash python3 {baseDir}/scripts/pumpfun.py launch --name "Token Name" --symbol "TKN" --image ./logo.png --buy 0.5 ```

### 启动并使用自定义铸造地址(个性地址) ```bash python3 {baseDir}/scripts/pumpfun.py launch --name "Token Name" --symbol "TKN" --image ./logo.png --mint-key <base58_key> ```

使用以 'pump' 结尾的个性地址,使代币看起来更正规。可以使用以下方式生成: ```bash solana-keygen grind --ends-with pump:1 ```

### 选项 - `--name` - 代币名称(必填) - `--symbol` - 代币符号(必填) - `--image` - 代币图片路径(必填) - `--description` 或 `-d` - 代币描述 - `--buy` 或 `-b` - 开发者买入 SOL 数量 - `--mint-key` 或 `-m` - 自定义铸造私钥(base58)

## 网络配置

默认情况下,钱包操作在 **主网** 上运行。使用 `--network` 进行切换:

```bash 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 端点(可选) |

## 示例

```bash # Initialize new wallet python3 {baseDir}/scripts/initialize.py

# Check your SOL balance python3 {baseDir}/scripts/wallet.py balance

# Send 0.1 SOL to another wallet python3 {baseDir}/scripts/wallet.py send 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU 0.1

# Check USDC balance (mainnet USDC mint) python3 {baseDir}/scripts/wallet.py token-balance EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

# Send 10 USDC to another wallet python3 {baseDir}/scripts/wallet.py send-token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU 10

# Quote swap: 1 SOL to USDC python3 {baseDir}/scripts/jup_swap.py quote SOL USDC 1

# Swap 0.5 SOL to USDC python3 {baseDir}/scripts/jup_swap.py swap SOL USDC 0.5

# Launch token on Pump.fun python3 {baseDir}/scripts/pumpfun.py launch --name "My Token" --symbol "MTK" --image ./logo.png

# Launch with dev buy 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 上使用自定义图片和开发者买入**启动代币** - 使用 `--network devnet` 进行**开发网测试**

更多产品