Estoy tratando de obtener la dirección pública adecuada para la billetera Solana usando solana-web3.js en mi proyecto de prueba nativo de reacción 
import { Keypair} from '@solana/web3.js'; import * as bip39 from 'bip39'; import * as bip32 from 'bip32'; const derivePath = "m/44'/501'/0'/0'"; const mnemonic = "...12 word phrase" const seed: Buffer = yield bip39.mnemonicToSeed(mnemonic); // also tried to slice seed.slice(0, 32); const derivedSeed = bip32.fromSeed(seed).derivePath(derivePath).privateKey; const keypair = Keypair.fromSeed(derivedSeed); const publicKey = keypair.publicKey.toString();Tomé el camino derivado que se supone que es para la billetera Phantom (y podría elegirse en la billetera Solflare) Pero el problema es que no obtengo la misma clave pública que obtengo en estas billeteras del navegador.
Entonces, ¿dónde estoy posiblemente cometiendo un error en el código anterior?
ACTUALIZACIÓN: Cuando uso 'ed25519-hd-key' lib en lugar de 'bip32' para obtener el problema de semilla derivado, desaparece.
import * as ed25519 from 'ed25519-hd-key'; const derivedSeed = ed25519.derivePath(derivePath, seed.toString('hex')).key;variante de trabajo para mí:
import nacl from 'tweetnacl'; import * as bip39 from 'bip39'; import { derivePath } from 'ed25519-hd-key'; const web3 = require('@solana/web3.js') const seed = await bip39.mnemonicToSeed(mnemonic); const seedBuffer = Buffer.from(seed).toString('hex'); const path44Change = `m/44'/501'/0'/0'`; const derivedSeed = derivePath(path44Change, seedBuffer).key; keypair = new web3.Account(nacl.sign.keyPair.fromSeed(derivedSeed).secretKey);Debe usar la ruta "m/501'/0'/0'"