- Store the block chain using a get/put interface keyed by hash,
so we can add disk storage later.
- Add unit tests for difficulty transitions. Move some stuff into
NetworkParameters to make that easier.
- Track the best chain using total work done. Inform the wallet
when a re-org takes place. Wallet currently doesn't do anything
with this beyond informing the event listeners.
With this patch we're getting closer to a correct SPV implementation.
Introduce a unit test NetworkParameters that has very easy difficulty.
Correct some assertTrue(false) type checks to use fail() instead.
Make ALLOWED_TIME_DRIFT non-public until I have a good explanation in the javadocs of what it's for.
Simplify Block.equals