如何将Solana公钥从UINT8Array格式转换为可读存储格式
Solana Uint8Array格式公钥/私钥转可读操作方法
公钥转换
Solana生态默认使用Base58编码的字符串作为公钥的可读展示格式,两种转换方式:
- 方法1:直接通过Solana CLI导出
你通过Solana CLI生成账户时,默认会将完整密钥对存储在~/.config/solana/id.json路径,如果你自定义了存储路径替换为对应路径即可,运行以下命令直接输出可读公钥:
solana address -k <密钥对存储路径>
- 方法2:代码转换
如果你已经拿到公钥的Uint8Array数据,可以通过@solana/web3.js库快速转换:
import { PublicKey } from '@solana/web3.js'; // 替换为你自己的公钥Uint8Array数据 const pubkeyUint8 = new Uint8Array([ 102, 255, 46, 44, 90, 176, 207, 98, 251, 66, 136, 190, 240, 59, 198, 177, 169, 35, 153, 3, 163, 68, 188, 214, 225, 46, 55, 111, 159, 157, 182, 111 ]); const readablePubkey = new PublicKey(pubkeyUint8).toString(); console.log(readablePubkey); // 输出Base58格式的可读公钥
私钥存储说明
- Solana CLI生成的密钥对json文件本身就是可直接复用的序列化格式,直接备份该文件即可满足后续交易使用需求,无需额外转换
- 如果你需要更便于记忆的助记词格式,生成账户时可添加参数
--mnemonic-language English,即可同步输出12/24位助记词;已生成的密钥对也可以通过solana-keygen recover命令从密钥json文件导出对应助记词 - 注意私钥、助记词、密钥json文件均属于敏感信息,禁止上传到公开仓库、公共云盘等公开可访问区域,不要明文存储在联网设备中
内容的提问来源于stack exchange,提问作者yorgeLorenz
相关产品推荐
相关产品推荐

