grin/chain/src
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
..
chain.rs Lots of chain sync and block validation fixes 2017-10-22 07:11:45 +00:00
lib.rs slog-rs logging (#171) 2017-10-12 16:56:44 +00:00
pipe.rs Lots of chain sync and block validation fixes 2017-10-22 07:11:45 +00:00
store.rs Switch commitments (#179) 2017-10-16 21:23:10 +00:00
sumtree.rs Lots of chain sync and block validation fixes 2017-10-22 07:11:45 +00:00
types.rs Lots of chain sync and block validation fixes 2017-10-22 07:11:45 +00:00