PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, July 28, 2022

[FIXED] how to generate keypair from secret phrase (mnemonic) SOLANA

 July 28, 2022     blockchain, javascript, node.js, reactjs, solana     No comments   

Issue

I am working with solana and phantom wallet I have a wallet with a public key and I have it's secret phrase composed of 12 wordw. when I generate keypairs from the secret phrase I use :

const getKeyPair = (mnemomic) => {
  const seed = bip39.mnemonicToSeedSync(mnemomic).slice(0, 32);
  const Keypair = web3.Keypair.fromSeed(seed);
  return Keypair;
};

the generated keypair has publicKey and privateKey , but when am checking my balance using the generated public key I find the balance is always 0 even when I try to airdrop sols using my code it's not getting in the account.

But if I check using my public key from phantom wallet I get the sols I have and if I want to airdrop sols they also proceed normally.

Why is my generated public key is not the same as the one in phantom wallet?


Solution

First, we need to generate the publicKey and privateKey from the seed phrase using this command :

solana-keygen recover 'prompt:?key=0/0' -o phantom_wallet.json

remark : our account may have many wallets the command above access the first wallet , if we need to access wallet number 10 for example we need to change the 'prompt:?key=0/0' to 'prompt:?key=10/0' "only the first 0 is changing"

next this will generate public key "will be written in the console" and a json file with secret key contains an array of 64 element which is the secret key. now to generate the KEYPAIRS in solana web3 javascript SDK we do the following:

 let seed = Uint8Array.from(
    process.env.REACT_APP_OUR_SECRET_KEY.split(",")
  ).slice(0, 32);

  // create keypairs
  let KEYPAIRS = web3.Keypair.fromSeed(seed);

IMPORTANT : in .env files REACT_APP_OUR_SECRET_KEY is stored without brackets [ ] example : 15,320,52,... as we see a table without brackets [ ]



Answered By - Said Pc
Answer Checked By - Mary Flores (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing