簡體   English   中英

無法在 Solana-web3 中使用助記詞導出 Sollet 錢包地址

[英]Unable to derive Sollet wallet address using mnemonic phrases in Solana-web3

我的理解是 Solana 應該和其他區塊鏈一樣,使用相同的助記詞和派生路徑,我們應該能夠產生相同的公共地址。 所以,在獲得助記詞后,我寫了下面的代碼來檢查

const solanaWeb3 = require('@solana/web3.js');
const bip39 = require('bip39');
const ed = require('ed25519-hd-key');
const nacl= require('tweetnacl');
const mnemonic = "<mnemonic phrases>"
let path = "m/44'/501'/0'/0'";

const seed = bip39.mnemonicToSeedSync(mnemonic); 
const derivedSeed = ed.derivePath(path, seed.toString('hex')).key;
const account = new solanaWeb3.Account(nacl.sign.keyPair.fromSeed(derivedSeed).secretKey);
keypair = solanaWeb3.Keypair.fromSecretKey(account.secretKey);
console.log(keypair.publicKey);

但是,它給了我一個與我的 sollet 錢包完全不同的公共地址。 知道出了什么問題嗎?

提前致謝!

可能是您使用的派生路徑與所示路徑略有不同。 查看 Sollet 代碼,您可能想嘗試使用m/44'/501'/0'的路徑。 查看使用derivePath的位置: https://github.com/project-serum/spl-token-wallet/blob/9c9f1d48a589218ffe0f54b7d2f3fb29d84f7b78/src/utils/walletProvider/localStorage.js#L25

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM