* `--mode=off` now works.
* Add Mode::Off as a persistent CLI option.
* "last" not "auto" as default.
* Commit accidentally unsaved file.
* Whitespace
[ci:skip]
* Mode CLI parse fix
* or offline
* Save mode when it gets changed.
* Fix Offline mode
* Fix up mode operations.
* Make passive default, but not overriding.
* Fix test
* Maybe not everyone wants to run an archive node...
* The front-end for each hard-fork, also EIP-160.
* Address EIP161 a/c
* Include EIP-161b
* EIP-161 part d.
* Fix test build.
* Fix one test, add another.
* Fix use of bloom & renaming.
* Initial groundwork for EIP-155
* Fix minor bug.
* Fix all tests finally.
* Rest of EIP-155.
* Add tests for EIP-155 algorithm.
Update transaction tests validation.
* Minor reformat.
* Address grumbles.
* Remove unused code.
* Fix SUICIDE gas mechanism and add consensus tests.
* Remove commented code.
* Set Frontier hardfork block number
* Fix warning.
* Transaction tests,
* provide snapshot sync info in eth_syncing
* specify block gap in eth_syncing
* Extend eth_syncing with warp, format the output properly
* adjust serialization tests for sync info
* whitespace
* gas price distribution + median + tests
* put histogram in util
* use the util histogram
* remove the default gas price implementation
* histogram rpc
* fix empty corpus
* Add JS ethcore_gasPriceHistogram
* Fix typo (s/types/type/) & subsequent failing test
* Fix return type & formatting
* bucketBounds
* Add jsapi e2e test verification
* clarify "cancelled periodic snapshot" message
* more rigorous checks for snapshot validity
* verify ancient blocks on import
* limit number of fed blocks
* make it possible to feed snapshot service canonical hashes
* fix failing test build
* swap ethash DAG only when more recent
* add auto compaction types
* pass db paths
* detect drive type on Linux
* use base db path
* add docstring
* limit the test to be side effect free
* use base db path
* more docs
* fix parsing test
* update error
* detect only on Linux
* make test Linux only
* add second device letter, update cli doc
* use spaces in cli doc
* import only on linux
* default->auto
* 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
* Handle reorganizations in the state cache
* Renamed and documented a few methods
* Basic test
* Renamed pending to buffered
* Updated cache on sealed block
* More renames and updated documentation
* Minor doc tweaks
* bloom crate link
* database layout and outdated tests
* state db alterations
* v10 migration run
* using arc
* bloom migration
* migration fixes and mess
* fix tests
* Actually enable fat db, and do RPCs for it.
* Implement HashDB traits for AccountDB.
* user defaults
* finished user defaults
* user defaults are network-dependent
* added tests for newly added functions, logger is initialized first
* dir cleanup in progress
* user_file is placed next to snapshots
* fixing requested change
* State cache
* Reduced copying data between caches
Whitespace and optional symbols
* Reduced copying data between caches
Whitespace and optional symbols
* Set a limit on storage cache
* Style and docs
* move block queue to own module, a couple readability changes
* make block queue generic over verifiable data
also fixes heap size calculation
* make block queue into a more generic verification queue
* some module reoganization
* implement header queue
* clean up verification error messages
* user defaults
* finished user defaults
* user defaults are network-dependent
* added tests for newly added functions, logger is initialized first
* dir cleanup in progress
* user_file is placed next to snapshots
* Make the block header struct's internals private
Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.
I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.
* Drop some unnecessary cloning by comparing references
* Fix compiler errors from callsites in tests.
* Address renamed to H160 at bigint library level
* moved uint specific test from util to bigint library
* naming
* unifing hashes in progress
* unifing hashes
* cleanup redundant unwraps in tests
* Removing util/crypto in progress.
* fixed compiling
* signature cleanup in progress
* new module - ethcrypto used by ethstore and ethcore-network
* fixed compiling
* fixed compiling
* fixed merge
* optionally use no mangling for accountdb
* add the recorder module
* get_recorded for tries, no virtual dispatch on readonly tries
* add recording test
* 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]