Skip to content
This repository has been archived by the owner on Nov 21, 2019. It is now read-only.

Added custom derivation paths for HD wallets (mnemonic phrase) #326

Merged
merged 2 commits into from
Jan 25, 2017

Conversation

jase1981
Copy link
Contributor

@jase1981 jase1981 commented Jan 21, 2017

This is my first github pull request, so please be gentle :)

I created this commit to enable custom derivation paths. This enables maximum compatibility with existing wallets and standards, as per BIP44 and ethereum/EIPs#84. Any valid BIP39 mnemonic is now accepted.

Under Mnemonic Phrase there is now a radio selection menu:
Select HD derivation path
x m/44'/60'/0'/0 (default)
o m/44'/60'/0' (alternative)
o m/44'/60'/1'/0 (custom)

Path listed as default is currently used by: Jaxx, Metamask, Exodus, imToken, ...
Path listed as alternative is used by: Ledger, Coinomi.
Custom path enables BIP44 multiple accounts, testnet, Ethereum forks, etc... Any BIP32 path should work.

@kvhnuke kvhnuke merged commit 87fc655 into MyEtherWallet:mercury Jan 25, 2017
@tayvano tayvano mentioned this pull request Jan 25, 2017
@jase1981
Copy link
Contributor Author

jase1981 commented Jan 25, 2017

it might have broken Ledger support

I changed all paths to derivation paths (instead of address paths), then corrected setHDAddresses(Ledger) functions to reflect it. Used together, it shouldn't break anything. Luckily I have a Ledger and it seems to work ok, addresses are correct and I was able to sign.

etc and testnet shouldn't have 60' but 61' and 1' in the path.

You're right, I just assumed the ETH mainnet scenario. I'll get to it tomorrow.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants