如何在Node.js脚本中使用已有钱包私钥为Solana交易签名
实现步骤
- 安装必要依赖:
npm install @solana/web3.js bs58
- 替换原有生成密钥对的逻辑,代码示例如下:
const web3 = require('@solana/web3.js'); const bs58 = require('bs58'); // 替换为你从Phantom钱包导出的私钥字符串 const privateKeyStr = '你的Phantom导出的私钥字符串'; // 将base58编码的私钥字符串转为Uint8Array格式 const secretKey = bs58.decode(privateKeyStr); // 生成对应钱包的Keypair实例 const from = web3.Keypair.fromSecretKey(secretKey);
注意事项
- 不要将私钥明文硬编码到代码中,建议通过
.env环境变量加载私钥,生产环境可搭配专用密钥管理服务使用 - 转账前请确认当前账户内SOL余额足够覆盖转账金额+链上手续费,单笔SOL转账手续费约为0.000005 SOL
- 如果你的私钥导出后是数字数组格式,可直接传入
web3.Keypair.fromSecretKey()方法,无需额外bs58解码
内容的提问来源于stack exchange,提问作者dush88c
相关产品推荐
相关产品推荐

