I'm proud to present the first alpha version of what will become Bitcoin
Wallet 4.0.
Without further ado, here are the user-facing changes:
- All Bitcoin addresses are now deterministically derived from one
single secret, which was created when you installed the app for the
first time. So from now on, only one backup is needed to recover all
your future funds in that wallet. However, metadata such as fee
information (see below) will be lost if you don't refresh your backup.
- The app does its best to not reuse addresses any more. Request coins
will use a fresh address on each invocation. The current address in the
QR code on the main page changes as soon as coins are received on it. If
you want to still use fixed addresses, you can do so in Your addresses.
- When sending coins, the fee is calculated and shown before you press
Send. After sending, you'll see the paid fee in the transaction list.
- When sending coins, most errors are now shown already before you press
Send.
- Labs feature: Instead of showing the "from address" of received
transactions, show the address you received the coins on. You need to
enable this in the settings.
- The app now requires Android 4.0.3. This makes UI development much
easier in future.
- The app has a fresher, sharper looking app icon. The icon for the
testnet version is now entirely grey.
Caveats:
- The version string is still at "3.56-bitcoinj0.12". This will be fixed
at release, when I assign the final version.
- Bitcoinj will likely change its deterministric structure in the coming
weeks. This means that all coins you receive from now until then will go
missing. This also affects change from your own payments! The missing
coins are *not* lost and can recovered with some effort. So if you're
using this on mainnet, please know exactly what you're doing!
- On first app start, derived keys need to be pre-calculated. On fresh
installs, unfortunately this happens while the app is loading -- it
causes a white screen for 5-10 seconds.
- One fixed address is still created for you in Your addresses. I will
probably remove this for final release to discourage the use of fixed
addresses.
- No export/import of wallet seed yet (BIP39).
Testnet Binary:
http://wallet.schildbach.de/bitcoin-wallet-3.56-bitcoinj0.12-test.apk
Testnet Source:
https://github.com/schildbach/bitcoin-wallet/tree/bitcoinj-0.12
Mainnet Source:
https://github.com/schildbach/bitcoin-wallet/tree/bitcoinj-0.12-prod
I'd be happy if you give it a go and report any issues either here, or
in the GitHub bug tracker (please make clear you're testing this alpha).
Thanks to all the contributors (especially those to bitcoinj 0.12) for
making this possible! HD wallets is a giant leap for Bitcoin!