You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过私钥文件使用web3.Keypair.fromSeed加载Solana钱包

Solana CLI生成私钥在JS环境加载方案

solana-keygen生成的JSON文件内的64字节数组结构为前32字节为私钥种子,后32字节为对应公钥,web3.Keypair.fromSeed()仅需要前32位种子作为入参即可完成加载。

操作步骤

  • 提取你提供的64字节数组的前32位作为种子:
    [237,158,92,107,132,192,1,57,8,20,213,108,29,227,37,8,3,105,196,244,8,221,184,199,62,253,98,131,33,165,165,215]
  • JS/Node.js代码实现:
const { Keypair } = require('@solana/web3.js');
// 导入solana-keygen生成的完整64位密钥数组
const fullSecretKey = [237,158,92,107,132,192,1,57,8,20,213,108,29,227,37,8,3,105,196,244,8,221,184,199,62,253,98,131,33,165,165,215,14,7,46,23,221,242,240,226,94,79,161,31,192,163,13,25,106,53,34,215,83,124,162,156,8,97,194,180,213,179,33,68];
// 截取前32位转成Uint8Array作为种子入参
const seed = new Uint8Array(fullSecretKey.slice(0, 32));
const keypair = Keypair.fromSeed(seed);
// 输出公钥验证,和你查询到的地址完全一致
console.log(keypair.publicKey.toBase58()); 
// 输出结果:wm4MapPtFaUoSsyBJppVnChYMGvHzTeAL6BNZ5GmSqH

更简便的替代方案

你也可以不用手动拆分种子,直接调用Keypair.fromSecretKey()方法传入完整64字节数组即可生成密钥对:

const keypair = Keypair.fromSecretKey(new Uint8Array(fullSecretKey));

内容的提问来源于stack exchange,提问作者raddevus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:36:03