justinmoon / junction

UI For Using Hardware Wallets With Bitcoin Core
MIT License
60 stars 13 forks source link

Allow configurable BIP32 derivation paths #12

Open justinmoon opened 5 years ago

dasource commented 5 years ago

FYI - below paths should give fairly good compatibility with other multisig implementations.

Legacy (P2SH) m/45'/0/0/0 Segwit Compatibility (P2WSH-P2SH) m/48'/0'/0'/1' Native Segwit (P2WSH) m/48'/0'/0'/2'

justinmoon commented 5 years ago

Agreed

On Mon, Sep 2, 2019 at 6:21 AM dasource notifications@github.com wrote:

FYI - below paths should give fairly good compatibility with other multisig implementations.

Legacy (P2SH) m/45'/0/0/0 Segwit Compatibility (P2WSH-P2SH) m/48'/0'/0'/1' Native Segwit (P2WSH) m/48'/0'/0'/2'

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/justinmoon/junction/issues/12?email_source=notifications&email_token=ABBCQBKI4Q6AAAA3KFXOLVDQHTZKDA5CNFSM4IR3X4PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5VRGUQ#issuecomment-527110994, or mute the thread https://github.com/notifications/unsubscribe-auth/ABBCQBM5T4CV3AYAGPXL2J3QHTZKDANCNFSM4IR3X4PA .

Sjors commented 5 years ago

I wouldn't necessarily make them configurable, but they definately should follow ~the~ some standard. In addition to what @dasource points out for address type (44/49/84), receive should use ...0/n and change should use .../1/n. It currently uses 0 for both.

It does seem to correctly get "married" paths, i.e. the same derivation for each device. You may also want to sort by fingerprint. I'm not at all up to date on good conventions though. Maybe @instagibbs has some ideas?

justinmoon commented 5 years ago

@Sjors Correct. I haven't implemented change addresses yet. Configurable BIP32 paths would really only be useful if Junction is used as a recovery tool. Definitely not a priority.