const solanaWeb3 = require("@solana/web3.js"); const solanatoken = require("@solana/spl-token"); var wallet = solanaWeb3.Keypair.generate(); console.log("public key...", wallet.publicKey); console.log("secret key...", wallet.secretKey); console.log("secret key...", JSON.stringify(wallet.secretKey.toString()));`enter preformatted text here`Obtuve
public key... PublicKey { _bn: <BN: b5ec974285759f4004555c6890e045a4ce857c6a056895d77dd209c054e76556> secret key... "211,55,244,72,160,174,33,152,24,226,97,172,91,91,47,3,148,83,99,188,150,111,153,248,253,237,31,223,194,194,199,0,181,236,151,66,133,117,159,64,4,85,92,104,144,224,69,164,206,133,124,106,5,104,149,215,125,210,9,192,84,231,101,86" cómo puedo obtener private key , como
kNykCXNxgePDjFbDWjPNvXQRa8U12Ywc19dFVaQ7tebUj3m7H4sF4KKdJwM7yxxb3rqxchdjezX9Szh8bLcQAjb
para usar en la billetera fantasma? documentos: https://solana-labs.github.io/solana-web3.js/classes/Keypair.html
para usar en la billetera fantasma, puede copiar y pegar la matriz de bytes directamente.
Si desea la clave privada en base58, deberá realizar una conversión.
wallet.secretKey proporciona un Uint8Array : https://solana-labs.github.io/solana-web3.js/classes/Keypair.html#secretKey , por lo que tendrá que convertir de Uint8Array a una cadena base58.
Hay paquetes para hacer eso, y el paquete web3 de Solana usa bs58 : https://github.com/cryptocoinjs/bs58#encodeinput
Así que tendrás que hacer bs58.encode(wallet.secretKey) para obtener la cadena como esperas.
Puede cambiar UInt8Array a String como "kNykCXNxgePDjFbDWjPNvXQRa8U12Ywc19dFVaQ7tebUj3m7H4sF4KKdJwM7yxxb3rqxchdjezX9Szh8bLcQAjb" usando bs58.encode() o PublicKey.toBase58();
let secretKey = keyPair.secretKey.toBase58();