This is a huge change, which includes some changes to replace code that
originally cloned to reuse allocations instead. The updated
`elastic-array` crate renames its consuming `Vec`-conversion method to
`into_vec`, which means that I can do a simple
`sed -i 's/to_vec/into_vec/'` and then fix the compilation errors.
This commit is probably a minor performance win and definitely a
significant readability win.
* fixed naming of rlp modules
* RlpStream cleanup
* appending short rlp lists (0...55 bytes) is 25% faster
* RlpStream does not use bytes module, nor trait Stream
* removed unused code from rlp module
* compiling ethcore-util with new rlp serialization
* compiling parity with new rlp serialization
* fixed compiling ethcore-light with new rlp serialization
* fixed compiling ethsync with new rlp serialization
* removed redundant comment, print
* removed redundant double-space
* replace usage of WriteBytesExt with ByteOrder
* Create new column family for local node info
* remove DBTransaction::new reliance on DB
* KeyValueDB trait
* InMemory KeyValueDB implementation
* journaldb generic over KVDB
* make most of `ethcore` generic over KVDB
* fix json tests compilation
* get all tests compiling
* implement local store (just for transactions)
* finish local store API, test
* put everything into place
* better test for skipping bad transactions
* fix warning
* update local store every 15 minutes
* remove superfluous `{}`s
* prune states based on memory param
* pruning memory CLI and usage in sync
* return purged value from memorydb
* calculate memory used incrementally in overlayrecentdb
* refactor shared history pruning code in client
* Fixed usage alignment
* journal_size function for fast memory calculation
* split journaldb commit into two functions: journal_under and mark_canonical
* use new commit mechanism in client
* Configurable history size in master
* Reduce DB history
* Configurable history size
* Set min history size
* Test
* Fixed a test and reduced the limit
* to_rlp takes self by-reference
* clean up some derefs
* out-of-order insertion for blockchain
* implement block rebuilder without verification
* group block chunk header into struct
* block rebuilder does verification
* integrate snapshot service with client service; flesh out implementation more
* initial implementation of snapshot service
* remove snapshottaker trait
* snapshot writer trait with packed and loose implementations
* write chunks using "snapshotwriter" in service
* have snapshot taking use snapshotwriter
* implement snapshot readers
* back up client dbs when replacing
* use snapshot reader in snapshot service
* describe offset format
* use new get_db_path in parity, allow some errors in service
* blockchain formatting
* implement parity snapshot
* implement snapshot restore
* force blocks to be submitted in order
* fix bug loading block hashes in packed reader
* fix seal field loading
* fix uncle hash computation
* fix a few bugs
* store genesis state in db. reverse block chunk order in packed writer
* allow out-of-order import for blocks
* bring restoration types together
* only snapshot the last 30000 blocks
* restore into overlaydb instead of journaldb
* commit version to database
* use memorydbs and commit directly
* fix trie test compilation
* fix failing tests
* sha3_null_rlp, not H256::zero
* move overlaydb to ref_overlaydb, add new overlaydb without on-disk rc
* port archivedb to new overlaydb
* add deletion mode tests for overlaydb
* use new overlaydb, check state root at end
* share chain info between state and block snapshotting
* create blocks snapshot using blockchain directly
* allow snapshot from arbitrary block, remove panickers from snapshot creation
* begin test framework
* blockchain chunking test
* implement stateproducer::tick
* state snapshot test
* create block and state chunks concurrently, better restoration informant
* fix tests
* add deletion mode tests for overlaydb
* address comments
* more tests
* Fix up tests.
* remove a few printlns
* add a little more documentation to `commit`
* fix tests
* fix ref_overlaydb test names
* snapshot command skeleton
* revert ref_overlaydb renaming
* reimplement snapshot commands
* fix many errors
* everything but inject
* get ethcore compiling
* get snapshot tests passing again
* instrument snapshot commands again
* fix fallout from other changes, mark snapshots as experimental
* optimize injection patterns
* do two injections
* fix up tests
* take snapshots from 1000 blocks efore
* address minor comments
* fix a few io crate related errors
* clarify names about total difficulty
[ci skip]
* Consolidation migration
* Started db amalgamation
* Using client constants for columns
* Adding with_columns constructor
* Migrating to single db
* Fixing tests.
* test.sh without verbose
* Fixing warnings
* add migration tests that catch the bug
* make multiple migrations more robust
* add moved v9
* Merge branch 'noop-migrations' into single-db
* spurious line
* clean up migrations ordering
* update comment [ci skip]
* Bumping default number of max_open_files & re-ordering columns.
* fix merge
* fix ignored analysis tests
* Caching best block content
* Faster best_block_header
* Adding progress to v8 migration
* clean up warnings
* Separate hashes and bodies in the DB
* Separate hashes and bodies in the DB
* Fixed tests
* cli commands
* cleanup parity/signer
* cleanup parity/signer
* remove redundant import of signer crate from main.rs
* cli cleanup in progress
* cli cleanup in progress
* moved few commonly used functions to separate methods with tests
* cleaning up blockchain import in progress
* cleaning up blockchain import in progress2
* cleaning up blockchain import in progress3
* tests for database compaction profile parsing
* cleaning up blockchain import in progress4
* cleaning up blockchain import in progress5
* blockchain import
* export blockchain in progress
* cleanup execute_export
* Configuration::to_duration cleaned up
* removed unused code, tests for to_duration
* cleanup Configuration::mode function
* parsing some of the cli params in params.rs
* rpc and signer are no longer optional
* move importing extern crates to main.rs file
* swipe dies from rpc module
* swipe dies from dapps
* finding deprecated
* several tests and fixes for parity
* parity cleanup in progress
* cleanup price parsing
* parity cleanup in progress
* swiped all dies
* parity cleanup in progress
* replace usages of from_str with parse() in parity/params.rs
* removed few more from_str
* split parity/params.rs into params and helpers
* removed wildcard import from configuration.rs
* cleanup directories/path creation
* cleaning up run cmd
* moved LoggerConfig
* defaults for cli params
* fixed indention in raise_fd_limit
* tests for rpc_apis
* tests for default ipc and rpc settings
* ipc socket
* cleanup in progress
* account service
* cleanup miner config
* BlockChain commands use Directiores structure now
* client_config
* network settings and dapps configuration
* removing warnings
* default logger config
* fixed client_path
* overhaul
* fixing export && import
* default export DataFormat
* import and export also upgrade db
* fixed export && import
* polishing pr
* polishing pr
* fixed custom bootnodes
* fixed daemonize on windows
* fixed setting up enable network
* finished pr
* fixed compiling on windows
* Fixed warning; windows build
* Better cache management
* Fixed tests on windows
* Fixed test
* Restored pruning method names
* --cache alias
* Fixed more tests
* Ensure default options actually listed as valid
[ci:skip]
* Use tree index for DB
* Set uncles_hash, tx_root, receipts_root from verified block
* Use Filth instead of a bool
* Fix empty root check
* Flush block queue properly
* Expunge deref
* removed old json-tests
* simplify folds in triehash.rs
* removed unused json_aid
* removed unused squeeze.rs
* json branching tests for trie
* removing todos from util
* separated UsingQueue and Table
* further cleanup, removing unused code
* serde serialization of hash moved to rpc module
* uint wrapper for rpc in progress
* serialization of uint moved to rpc module
* updated eth-secp256k1
* updated igd, serde is no longer dependency of util
* loading trie consensus tests
* renamed aliases in rpc imports