初入币圈,Phantom OKX 都创建了钱包,但是有的钱包其实一直闲置着,偏偏会剩点零钱,使用钱包转出 sol 会留下 gas 费,我见不得不用的钱包里余额>0 ,很难受,所以研究了一下。
记得先去回收代币租金!!!https://sol-incinerator.com/
1. 操作环境
看到有老哥 V 币被盗了,大家一定注意自己操作环境的安全
系统环境:
Ubuntu 24.04.2 LTS
我这使用的是虚拟机,用完直接销毁了
1.1. 安装 solana cli
curl --proto '=https' --tlsv1.2 -sSfL https://solana-install.solana.workers.dev | bash1.2. 安装 base58
钱包导出的私钥为 base58 ,需要转换
sudo apt install python3-base58 -y验证一下
root@ip-172-31-10-157:~# python3 -c "import base58;print(base58.b58decode('11111111111111111111111111111111'))"b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'2. 操作
绑定钱包
将私钥转换,将WALLET_PRIVATE_KEY换成实际的私钥
root@ip-172-31-10-157:~# python3 - <<'PY' <WALLET_PRIVATE_KEY> > ~/.config/solana/phantom.jsonimport sys, json, base58b58 = sys.argv[1].strip()raw = base58.b58decode(b58)print(json.dumps(list(raw)))> PY结果
root@ip-172-31-10-157:~# cat ~/.config/solana/phantom.json[165, 186, 96, ...]绑定密钥对
solana config set --keypair ~/.config/solana/phantom.json设置为主网
solana config set --url https://api.mainnet-beta.solana.com检查一下当前的配置
solana config getConfig File: /root/.config/solana/cli/config.ymlRPC URL: https://api.mainnet-beta.solana.comWebSocket URL: wss://api.mainnet-beta.solana.com/ (computed)Keypair Path: /root/.config/solana/phantom.jsonCommitment: confirmed然后就可以查看钱包地址和余额
solana address # 地址solana balance # 余额转出
注意将会消耗 0.000005sol 的手续费
修改RECIPIENT_ADDRESS为目标钱包地址
solana transfer <RECIPIENT_ADDRESS> $(echo "$(solana balance | tr -d ' SOL') - 0.000005" | bc -l) --from ~/.config/solana/phantom.json返回签名,即交易成功
