How to use ethereumjs-wallet JavaScript library

WARNING:
THIS APPPLICATION IS CREATED FOR EDUCATIONAL PURPOSE EXPLAINING HOW HIERARCHICAL DETERMINISTIC WALLETS WORKS.
DO NOT USE THIS TOOL IN PRODUCTION, OTHERWISE YOU WILL LOSE ALL YOUR CRYPTOCURRENCIES.

THIS APPLICATION ONLY CREATE VALID KEYS AND ADDRESSES FOR ETHEREUM (ETH) WALLETS IMPLEMENTING BIP-39, BIP-32 AND BIP-44.

This application calculates the keys for wallets implementing BIP-44, where path is defined as:
m / purpose' / coin_type' / account' / change / address_index
Purpose, coin types and account are hardened hence the apostrophe (') and the purpose is a constant set to 44'.
Coin types which implemented BIP-44 can be found at: SLIP-0044 : Registered coin types for BIP-0044

This application uses the following libraries: The ethereumjs-wallet/hdkey library can only generate Ethereum addresses and a not addresses for other coins.

Step 1: Calculate the BIP-39 seed (Choose method 1 or 2)

Method 1: Auto generate random number (ENT), mnemonic words and BIP-39 seed

Select entropy length:


Select word list:

Password (optional):




Method 2: Enter mnemonic words or random number and generate BIP-39 seed

Enter mnemonic words or random number (ENT) in hex (no 0x prefix):


Select word list:

Password (optional):





Step 2: Generate the addresses and keys

BIP-39 seed (Hex, 512 bits):


Purpose (hardened):
44' (or 0x8000002C)

Coin Type (hardened, Supporting BIP-0044):

Account (hardened):

Change:

Start address index:


End address index:


Derivation path (m / purpose' / coin_type' / account' / change / address_index):

Custom derivation path (m / i / ...):


Check the box if you want to use the custom derivation path:




Step 3: Restore addresses and keys

Enter an extended private key (xprv) or extended public key (xpub):


Check the box if the private key (xprv) or extended public key (xpub) comes from an Ethereum wallet.

Start address index:


End address index: