| Crates.io | solan |
| lib.rs | solan |
| version | 0.1.2 |
| created_at | 2025-10-17 16:44:21.536786+00 |
| updated_at | 2025-10-17 17:18:15.301713+00 |
| description | 使用自定义 RPC_URL 与私钥,签名并转出 SOL 到目标地址。 |
| homepage | |
| repository | https://gitee.com/luzhihaoTestingLab/useful-cargo-packages |
| max_upload_size | |
| id | 1887913 |
| size | 145,292 |
使用自定义 RPC_URL 与用户私钥,将 SOL 转出到目标地址。支持私钥字符串三种格式:
0x + 128 个 hex(64 字节 Keypair)或 64 个 hex(32 字节种子)目标地址支持:
0x + 64 个 hex)说明:你在描述中写了“eth数量”,此处按更符合场景的 SOL 数量 处理。参数
amount_sol代表以 SOL 为单位的金额,内部会自动换算为 lamports(1 SOL = 1_000_000_000 lamports)。
cargo add solan
或在 Cargo.toml 添加:
[dependencies]
solan = "0.1"
use solan::transfer_sol;
fn main() {
// 示例:使用 devnet 测试网。生产请使用你自己的 RPC。
let rpc_url = "https://api.devnet.solana.com";
// 私钥字符串:支持三种形式
// 1) 0x 十六进制:64字节 Keypair (0x + 128 hex) 或 32字节种子 (0x + 64 hex)
// 2) JSON 数组:64字节或32字节
// 3) Base58:解码后应为64字节或32字节
let secret = "0x<128 hex 或 64 hex>"; // 替换为你的私钥
// 目标地址:支持 Base58 或 0x 十六进制 32 字节
let to = "<Base58 地址或 0x + 64 hex>"; // 替换为收款地址
match transfer_sol(rpc_url, secret, to, 0.001) {
Ok(sig) => println!("交易成功,签名: {}", sig),
Err(e) => eprintln!("交易失败: {}", e),
}
}
system_instruction::transfer 指令并以私钥签名,向 to_address 转出指定 SOL。get_latest_blockhash 获取最新区块哈希,构造并提交交易。SOL;内部将按 LAMPORTS_PER_SOL 换算。MIT © 2025 useful-cargo-packages