grin/chain
Ignotus Peverell f1488f9529
Lots of chain sync and block validation fixes
* Fix for the chain pipeline partly relying on an outdated head,
leading to not properly recognizing a fork and inconsistent sum
tree state.
* Do not drop block requests during sync that don't get satisfied,
retry enough time to get them and avoid stall.
* Always validate header, even in sync where we may have validated
it already. We don't want a block coming from a peer that could
squeeze through with an invalid header.
* When syncing, do not mark blocks that were errored by the chain
as received (typical case: orphan). Keep retrying.
* Improved chain state dump for debugging.
* Do not add to orphans blocks too far in the future.
* Better error reporting on db errors.
* Related sync test fixes.

TODO figure out why syncing peers timeout so often, very useful
to test but not that great for a fast sync experience.
2017-10-22 07:11:45 +00:00
..
src Lots of chain sync and block validation fixes 2017-10-22 07:11:45 +00:00
tests fail deserialization if inputs or outputs are not sorted for txs (#173) 2017-10-13 17:23:18 +00:00
Cargo.toml tweaks to logging configuration (#176) 2017-10-13 16:42:04 +00:00
rustfmt.toml Initial import. 2016-10-20 20:06:12 -04:00