As I haven't been posting much for a while I thought I would give you an update as to what's happening generally.
There are a few things being worked on in parallel with MultiBit and bitcoinj:
Bundling a JRE with MultiBitEspecially on Windows, it is annoying for the user to have to separately install the Java Runtime Environment (JRE).
(The JRE contains all the support files that MultiBit needs to run.)
I have been working on changing the MultiBit build to also include these files.
This has the
advantages:
+ The user has a single download and install.
+ The environment is better defined and we know exactly what is available.
(This will help with Trezor support - see below)
+ For submissions to app stores you need an "All in One" application.
The main
disadvantage is that the download size increases.
To tackle the disadvantage of 'code bloat' I have a double pronged strategy:
+ Using
Proguard to trim the MultiBit code (down from 12MB to 8.5MB).
+ Removing some of the unnecessary files from the JRE (e.g. browser plugin support, JavaFx support).
The best I have got for a Mac app file is 31.5 MB.
It is still on the fat side but - like any diet - it gets progressively more difficult the further you go.
I'm probably half way through the build changes for this.
Initially I will target the Windows installer as that has the highest downloads.
We have bought a little Windows 8 netbook as a test machine as both Gary and I work on Macs.
Trezor supportSlush sent me a Trezor board (for plugging into a Raspberry Pi) a couple of weeks ago. I met up with Gary Rowe last weekend and handed it over to him and he has started working on it. He has posted over in the
Trezor thread.
He is concentrating on the Java code for the low level communication between the Trezor and the host computer.
This project is still quite early days yet. This code will all go into a separate github project
https://github.com/bitcoin-solutions/trezorj. It is open source so everyone can use it to build in (Java) support for the Trezor for their own projects.
Hierarchical deterministic walletsOne of the background tasks I have completed is to bump the MultiBit code to use the most recent bitcoinj release (version 0.10). In this are a couple of classes that Matija Mazi has written called:
+ HDKeyDerivation
+ HDUtils
This should give us enough support to talk 'HD' to the Trezor and make sure everything is working ok.
Of course that is a long way from having it integrated into bitcoinj/ MultiBit but it is a start.
Mike Hearn is concentrating on the payment protocol work so it will be a while before HD support gets built into the actual bitcoinj Wallet.
There is also a largish amount of GUI work I need to do to support it. I haven't even started this yet.
Gary and I have started a consultancy company - Bitcoin Solutions LtdSlightly off topic but I wanted to mention that Gary Rowe and I have started a Bitcoin consultancy company together.
It's a UK limited company called
Bitcoin Solutions Ltd.
We think that now that Bitcoin is going mainstream there will be consultancy work for general Bitcoin advice/ technical advice etc.
As we are completely full with other work I expect it will be 2014 before this gets properly active.
In case you are wondering:
MultiBit will always remain open source.