import { mnemonicToSeedSync } from "bip39";
import { hdkey } from "ethereumjs-wallet";
const mnemonic = "YOUR_MNEMONIC";
const seed = mnemonicToSeedSync(mnemonic);
const root = hdkey.fromMasterSeed(seed);
const rootWallet = root.getWallet();
const pads = 2;
console.log(mnemonic);
console.log(
`[${"-".repeat(
pads
)}] addr: ${rootWallet.getAddressString()}, pk: ${rootWallet.getPrivateKeyString()}`
);
const hardened = root.derivePath(`m/44'/60'/0'/0/0`);
for (let i = 0; i < 30; i++) {
const child = hardened.deriveChild(i);
const wallet = child.getWallet();
const idx = i.toString().padStart(pads, "0");
console.log(
`[${idx}] addr: ${wallet.getAddressString()}, pk: ${wallet.getPrivateKeyString()}`
);
}
여기서는 30개만 해놨는데 무한정 가져올 수 있다.