隐藏私钥并导入代码
配套视频教程: Bilibili:https://www.bilibili.com/video/BV1cz42167MD/?spm_id_from=333.788&vd_source=2979dcefbf505a6422797470b6fbbfad Youtube:https://www.youtube.com/watch?v=LPIPAHWW05w&list=PLMsVemdMJKNUSTsRpjQj7CTrm8O-luVxi&index=3 欢迎添加我的联系方式:Rico_Ruilabs
两种Solana账户的私钥形式
数组型:如使用 solana-keygen 创建的 id.json 文件
[34,196,76,33,202,252,153,162,93,245,130,8,98,51,44,220,67,119,187,13,102,42,182,61,169,126,185,195,94,219,180,243,31,38,38,133,160,151,213,233,14,57,102,52,202,32,113,204,176,140,251,190,42,132,162,105,223,234,98,255,223,53,4,113]
字符串型:更通用的,如hKKEqGS1xn2bUhZFtxueYW9CTM91edfdUxaxK743CtyjMdzgobAEBH5ZBkUiXvS2Drbcwp4wK8uHEXD5gbSUSmn
(演示钱包,请勿向该地址打入资产)
数组型 => base58格式编码 encode => 字符串型
字符串型 => base58格式解码 decode => 数组型
提前下载好 Node,创建工程目录,执行
npm init -y
初始化空的 package.json
文件,添加 "type": "module"
,执行 npm i
命令,依次下载 "@solana/web3.js","bs58","dotenv" 这三个库
如
package.json
文件最终状态:
import { Keypair } from "@solana/web3.js"
// 从 id.json 生成账户
import { readFileSync } from 'fs'
const userKeypair1 = Keypair.fromSecretKey(
Buffer.from(JSON.parse(readFileSync('./id.json', "utf-8")))
)
console.log(userKeypair1)
// 使用 base58 编码,得到字符串型
console.log(`The public key is:`,userKeypair1.publicKey.toBase58())
// 使用 base58 编码,得到字符串型
console.log(`The secret key is:`,base58.encode(userKeypair1.secretKey))
// 从 私钥字符串 生成账户,配合 .env 配置文件
import "dotenv/config"
import base58 from 'bs58'
const userKeypair2 = Keypair.fromSecretKey(base58.decode(process.env.SECRET_KEY))
console.log(userKeypair2)
// 转换为Base58编码
console.log(`The public key is:`,userKeypair2.publicKey.toBase58())
// 处理私钥的打印格式
console.log(`The secret key is:`,base58.encode(userKeypair2.secretKey))
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!