As I expect you know, Gary and I are working on an HD compatible version of MultiBit.
Mike is refactoring bitcoinj to add in HD support.
The code is closed alpha at the moment (we will open it once it goes into beta but we are still tinkering at the moment).
I think it would be a good idea if we made sure the HD wallets in Electrum 2.0 and MultiBit HD work seamlessly together. When we get it all working in MultiBit HD would you like to be part of our beta testing ?
And conversely we would also like early access to your code to see if everything hooks up together properly.
Were you planning to support Trezor too ?
If so then we can probably do the same approach there.
Once wallets get created and regular users start putting bitcoin on them it starts getting expensive time and effort wise to rework things. I think it is worth us coordinating to bash our code as thoroughly as possible before it goes out on general release.
Let me know if you'd like to and we can give you access to our repo.
Cheers,
Jim
Thank you, Jim! Is there anything in your code that is not specified in BIP32/BIP39?
As you might know, I postponed BIP32 support in Electrum because we had discussions on the developer's mailing list regarding BIP39, and we could not reach an agreement.
I think the latest BIP39 proposal is much more reasonable, because it does not impose a dictionary.
An important requirement for Electrum is that wallets must be fully recoverable from seed, and with no other knowledge than the seed. This special requirement imposes some constraints on address generation (users cannot generate arbitrary addresses, the wallet creates new addresses when already created addresses are used). The same type of constraint will exist for accounts in a HD wallet with multiple accounts.
Since other wallets do not have that requirement, these constraints are not part of BIP32.
They are, however, important for Electrum wallets.