I want to announce
http://bip32.org, a JavaScript implementation of BIP32. This project is based on my
Multisignature P2SH project.
What is BIP32?BIP0032 is a Bitcoin Improvement Proposal that describes a method to determinsiticly generate Bitcoin addresses and private keys. It also describes some really cool features such as public key derivation which allows you to generate new addresses without needing a private key.
Why should I care?If you're like me, then you just care because this Bitcoin stuff is cool. If you're not quite like me, then you're probably only interested in this if you like and/or use Brain Wallets. This implementation allows you to produce Extended Private Keys based only on a single passphrase, which is in turn used to produce multiple Bitcoin addresses. You have the advantage of deriving new addresses without ever needing to type in your passphrase.
How do I use it?Simple. Type in a passphrase into the "Passphrase" box and tweak the value in "Account index". If you select another derivation path, "Keypair index" is available to change as well. The generated keys are shown at the bottom of the page, along with a Bitcoin address you can send coins to.
In order to spend, copy the "Derived private key", change the button at the top of the page to "BIP32 Key" and paste in the key you just copied to the BIP32 extended key field. Now copy the "Key" in the Key Info section. This is the Bitcoin private key, and it can be used to spend by using the transaction generator at
http://brainwallet.org/More advanced users can use the site to do the following things:
- Inspect extended key information: Simply paste in the key, and the Key Info fields are shown
- Use any key derivation path you want: Switch the "Derivation Path" to "Custom" and enter your key path. The key must being with an "m". Variables "i" and "k" can show up in the path (k cannot be last), and you can only use private key derivation (using the apostrophe symbol) if the extended key you're deriving from is a private key.
- The public key/private key derivation method only describes whether the final Keypair Index is generated using Public Key or Private Key derivation. If this doesn't make sense to you, ignore it and leave it set to "Public Key"
Thanks. Feedback appreciated! Donations are welcome: 1NXvAo6tDoSxAqsrcNQ5PPJJM87gR4dHr7