Commit Graph

40 Commits

Author SHA1 Message Date
Robert Habermeier 76a7246369 Snapshot creation and restoration (#1679)
* 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]
2016-08-05 17:00:46 +02:00
Arkadiy Paronyan 05bfdc508e Split IO and network crates (#1828)
* Abort on panic

* Split IO and network crates

* Restore panic handler

* Fixed doc tests
2016-08-05 10:32:04 +02:00
Nikolay Volf 459dcbcef1 Removing unused client code (#1645)
* moving ipc deriving to trait

* refactoring of the client
2016-07-19 09:21:41 +02:00
Tomasz Drwięga 6bbaced3cd Merge branch 'master' into miner-no-default
Conflicts:
	ethcore/src/miner/miner.rs
	parity/main.rs
2016-06-26 22:44:34 +02:00
Gav Wood 41e0769e63 Fix tests, 2016-06-23 14:43:20 +02:00
Tomasz Drwięga a2f24a0083 Removing Default from Miner 2016-06-20 10:28:38 +02:00
Tomasz Drwięga 81df97a737 Fixing warnings (#1321) 2016-06-18 15:11:10 +02:00
Gav Wood 335bce85e8 Gas price statistics. (#1291)
* Gas price statistics.

Affects eth_gasPrice.
Added ethcore_gasPriceStatistics.

Closes #1265

* Fix a bug in eth_gasPrice

* Fix tests.

* Revert minor alteration.

* Tests for gas_price_statistics.

- Tests;
- Additional infrastructure for generating test blocks with
transactions.
2016-06-18 10:52:50 +02:00
Marek Kotewicz 4ef4819bf9 removed try_seal from MinerClient interface (#1262) 2016-06-13 18:51:14 +02:00
debris 79919bdc3c simplified block opening 2016-06-06 14:34:23 +02:00
Nikolay Volf 0c782bf34b Merge branch 'master' into client-refact 2016-06-01 12:45:04 +02:00
Nikolay Volf d45a676dc0 all tests fixed 2016-05-31 22:24:32 +02:00
Robert Habermeier ff7c755930 mostly purge x! from ethcore 2016-05-31 16:59:01 +02:00
arkpar 1e8bf8c89d More tweaks 2016-05-28 17:17:10 +02:00
debris 95365670e4 Merge branch 'master' of github.com:ethcore/parity into trace_err 2016-05-19 14:15:05 +02:00
debris 634679966e Make Id/ID and db/Db/DB usage consistent 2016-05-19 11:00:32 +02:00
debris 14b6b389f2 propagate trace error to the top 2016-05-18 11:34:15 +02:00
Marek Kotewicz 225a5ee825 removed redundant unwraps (#935)
* removed redundant unwraps

* fixed compilation error, removed warnings

* fixed transaction queue merge conflict

* fixed failing ethminer doc test
2016-04-19 10:35:32 -07:00
Marek Kotewicz 373284ca0a spec loading cleanup (#858)
* spec loading cleanup in progress

* changed engine field in json spec

* refactored engine params

* polishing spec loading refactor

* fixed compiling json tests

* fixed compiling parity

* removed warnings

* removed commented out code

* fixed failing test

* bringing back removed TODO in spec.
2016-04-09 10:20:35 -07:00
Gav Wood 7c5b171e3f Differentiate between ClosedBlock (can be reopened) and LockedBlock (cannot).
`ClosedBlock`s still keep the pre-finalised state (i.e. state after the last transaction).
`LockedBlock`s do not. New mining algo needs to reopen these `ClosedBlock`s, however enactment
system does not (and `ClosedBlock`s are slower & more hungry), hence the distinction.
2016-03-27 20:33:23 +02:00
Gav Wood 4e013ba2fc Refactor pending_block to always return invalid txs and sometimes a block.
Docuemnt SealingWork properly.
2016-03-23 16:28:02 +00:00
Tomasz Drwięga c382fa7eab Removing invalid transactions from queue 2016-03-17 12:29:55 +01:00
Nikolay Volf 8cdb013f9f Merge branch 'master' into pv63-receipts
Conflicts:
	ethcore/src/client/client.rs
2016-03-14 17:36:51 +01:00
Nikolay Volf 8f4323f3bb Merge branch 'master' into pv63-receipts
Conflicts:
	ethcore/src/client/test_client.rs
2016-03-14 11:06:28 +01:00
Gav Wood dc8b9c3205 Fix build. 2016-03-14 10:48:32 +01:00
Nikolay Volf 349584772b redundant lines 2016-03-11 23:34:18 +04:00
Nikolay Volf da6f6d57cd state data query to client 2016-03-11 23:24:44 +04:00
Tomasz Drwięga 5db84c3233 Adding transactions to block 2016-03-09 13:09:34 +01:00
Tomasz Drwięga 9acb36af87 Fixing tests compilation. Removing ethminer dependency on client 2016-03-08 16:23:32 +01:00
Nikolay Volf 028434f93d Merge branch 'master' into issue-test/568
Conflicts:
	ethcore/src/tests/client.rs
2016-03-02 17:15:09 +03:00
Nikolay Volf 02aad03f92 helpers 2016-03-02 17:06:53 +03:00
Gav Wood 929f44fe4f Tests for Client sealing. 2016-03-02 00:34:38 +01:00
arkpar 781f763f1f Memory management 2016-02-25 14:09:39 +01:00
Nikolay Volf fed90c126e dev/test tools to separate crate 2016-02-19 17:18:20 +03:00
debris b0f2ae147b Merge branch 'master' of github.com:ethcore/parity into jsonrpc2 2016-02-11 10:20:15 +01:00
arkpar 7bb661e21c Fixed block_bodies not returning a list 2016-02-11 02:07:46 +01:00
debris df0fa06e8a applied client interface changes to sync tests 2016-02-10 22:16:25 +01:00
Nikolay Volf fc0153a5a4 returning client to the place it should be, cleanup 2016-02-09 00:54:33 +03:00
debris 1b6fe392f8 split tests and json_tests 2016-02-02 22:50:41 +01:00
debris 8fe0d74b64 moved src to ethcore 2016-01-31 10:36:48 +01:00