Removed most cached blocks from memory, except for the latest block.
The background thread for persisting blocks was removed as it does not show much benefit in performance tests. Still, I intend to make more performance tests to make sure the parallelization of the blocks serialization is worth it or not.
The basic types (Hash, Address, etc) are now standard compliant. In other words, the standard libraries can manipulate our containers as sized and contiguous ranges of bytes and apply the appropriate optimizations.
Most of the basic types are now trivially copyable and trivially destructible.
Added the new bytes::join() function, which intend to substitute the Utils::appendBytes() applications without requiring the creation of intermediate types.
Added the following new RPC methods:
eth_getUncleByBlockHashAndIndex (with a dummy response as we don't support uncle blocks)
bytes::join()
function, which intend to substitute theUtils::appendBytes()
applications without requiring the creation of intermediate types.