admin管理员组

文章数量:1302409

       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`

I got

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"

how I can get private key, like

kNykCXNxgePDjFbDWjPNvXQRa8U12Ywc19dFVaQ7tebUj3m7H4sF4KKdJwM7yxxb3rqxchdjezX9Szh8bLcQAjb

for use on the phantom wallet? docs: .js/classes/Keypair.html

       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`

I got

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"

how I can get private key, like

kNykCXNxgePDjFbDWjPNvXQRa8U12Ywc19dFVaQ7tebUj3m7H4sF4KKdJwM7yxxb3rqxchdjezX9Szh8bLcQAjb

for use on the phantom wallet? docs: https://solana-labs.github.io/solana-web3.js/classes/Keypair.html

Share edited Oct 20, 2021 at 16:01 Progman 19.6k7 gold badges55 silver badges81 bronze badges asked Oct 20, 2021 at 13:34 Nikolai DikanevNikolai Dikanev 211 gold badge1 silver badge2 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 5

If you want the private key in base58, you'll have to do a conversion.

wallet.secretKey gives a Uint8Array: https://solana-labs.github.io/solana-web3.js/classes/Keypair.html#secretKey, so you'll have to convert from Uint8Array to a base58 string.

There are packages to do that, and Solana's web3 package uses bs58: https://github./cryptocoinjs/bs58#encodeinput

So you'll have to do bs58.encode(wallet.secretKey) to get the string as you're expecting.

for use on the phantom wallet you can copy and paste byte array directly.

You can change UInt8Array to String like "kNykCXNxgePDjFbDWjPNvXQRa8U12Ywc19dFVaQ7tebUj3m7H4sF4KKdJwM7yxxb3rqxchdjezX9Szh8bLcQAjb" by using bs58.encode() or PublicKey.toBase58();

let secretKey = keyPair.secretKey.toBase58();

本文标签: javascriptSolana blockchain How can i generate private keyStack Overflow