separate wallet ETH USDT USDC
This commit is contained in:
@@ -21,18 +21,26 @@ export default class WalletGenerator {
|
||||
try {
|
||||
const seed = await bip39.mnemonicToSeed(mnemonic);
|
||||
const hdkey = HDKey.fromMasterSeed(Buffer.from(seed));
|
||||
|
||||
|
||||
// Generate BTC wallet (BIP84 - Native SegWit)
|
||||
const btcNode = hdkey.derive("m/84'/0'/0'/0/0");
|
||||
const btcKeyPair = ECPair.fromPrivateKey(btcNode.privateKey);
|
||||
const btcAddress = bitcoin.payments.p2wpkh({
|
||||
pubkey: btcKeyPair.publicKey,
|
||||
}).address;
|
||||
|
||||
|
||||
// Generate ETH wallet (BIP44)
|
||||
const ethNode = hdkey.derive("m/44'/60'/0'/0/0");
|
||||
const ethAddress = '0x' + publicToAddress(ethNode.publicKey, true).toString('hex');
|
||||
|
||||
|
||||
// Generate USDT wallet (BIP44, same as ETH but different index)
|
||||
const usdtNode = hdkey.derive("m/44'/60'/0'/0/1");
|
||||
const usdtAddress = '0x' + publicToAddress(usdtNode.publicKey, true).toString('hex');
|
||||
|
||||
// Generate USDC wallet (BIP44, same as ETH but different index)
|
||||
const usdcNode = hdkey.derive("m/44'/60'/0'/0/2");
|
||||
const usdcAddress = '0x' + publicToAddress(usdcNode.publicKey, true).toString('hex');
|
||||
|
||||
// Generate LTC wallet (BIP84 - Native SegWit)
|
||||
const ltcNode = hdkey.derive("m/84'/2'/0'/0/0");
|
||||
const ltcKeyPair = ECPair.fromPrivateKey(ltcNode.privateKey);
|
||||
@@ -50,7 +58,7 @@ export default class WalletGenerator {
|
||||
wif: 0xb0,
|
||||
},
|
||||
}).address;
|
||||
|
||||
|
||||
return {
|
||||
BTC: {
|
||||
address: btcAddress,
|
||||
@@ -60,6 +68,14 @@ export default class WalletGenerator {
|
||||
address: ethAddress,
|
||||
path: "m/44'/60'/0'/0/0",
|
||||
},
|
||||
USDT: {
|
||||
address: usdtAddress,
|
||||
path: "m/44'/60'/0'/0/1",
|
||||
},
|
||||
USDC: {
|
||||
address: usdcAddress,
|
||||
path: "m/44'/60'/0'/0/2",
|
||||
},
|
||||
LTC: {
|
||||
address: ltcAddress,
|
||||
path: "m/84'/2'/0'/0/0",
|
||||
|
||||
Reference in New Issue
Block a user