I do quite a bit of BIP32 work these days, and Electrum seems to be the de-facto wallet that everyone loves. So I'm trying to sync the online BIP32 systems I develop with Electrum. This way funds will hit the online system, plus also be picked up by Electrum, so from the client's POV the funds will be going directly into their Electrum wallet, making them happier than a clam. I notice when I put a BIP32 public key into Electrum, it'll auto-generate and watch the first 20 addresses.
Questions are:
1.) What key index structure is used to generate the addresses? As long as I ensure the online system uses the same key index structure, both the online system and Electrum should generate and watch the same addresses.
2.) How do I increase that 20 auto-generated addresses to say 100? My concern is there will be times when 20 addresses in a row go unused, which will break the sync.
3.) At what point does Electrum generate a new batch of addresses to watch for? Does it wait until all addresses have had funds sent, or how does it handle that?
4.) Is there maybe any type of import functionality, where I can input a CSV file of inputs, and Electrum adds them to the wallet? This would be the fool proof way, because then I can just have a "Download Inputs" button in the online system, which clients can import into their Electrum wallet.
5.) I can't seem to find any docs on plugin development. Can someone point me in the right direction? I have an offline signer (
http://github.com/peterscott78/offline_signer) that I would like to integrate with Electrum -- clients can plug in their sends, they go into a pending queue within Electrum, then when ready they can download a JSON file for signing via my app.
Any help or advice would be greatly appreciated. If it helps, please don't hesitate to get technical, as that's fine with me.
Thanks!