Author | SHA1 | Message | Date |
---|---|---|---|
Erik Grinaker |
9b6d6a3ad0
|
p2p: tighten up Router and add tests (#6044)
This cleans up the `Router` code and adds a bunch of tests. These sorts of systems are a real pain to test, since they have a bunch of asynchronous goroutines living their own lives, so the test coverage is decent but not fantastic. Luckily we've been able to move all of the complex peer management and transport logic outside of the router, as synchronous components that are much easier to test, so the core router logic is fairly small and simple. This also provides some initial test tooling in `p2p/p2ptest` that automatically sets up in-memory networks and channels for use in integration tests. It also includes channel-oriented test asserters in `p2p/p2ptest/require.go`, but these have primarily been written for router testing and should probably be adapted or extended for reactor testing. |
4 years ago |
Marko |
1f01e5d726
|
params: remove blockTimeIota (#5987)
## Description - removes blocktimeiota - merges block params in abci and core state - spec change: https://github.com/tendermint/spec/pull/248 Closes: #5939 |
4 years ago |
Erik Grinaker | 8e7d431f6f | p2p: rename ID to NodeID | 4 years ago |
Marko |
82e4693cc5
|
abci: remove setOption (#5447)
Remove Response/Request SetOption from ABCI. Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> |
4 years ago |
Callum Waters |
ed002cea7e
|
evidence: introduction of LightClientAttackEvidence and refactor of evidence lifecycle (#5361)
evidence: modify evidence types (#5342) light: detect light client attacks (#5344) evidence: refactor evidence pool (#5345) abci: application evidence prepared by evidence pool (#5354) |
4 years ago |
Marko |
fbdf8b098e
|
mocks: update with 2.2.1 (#5294)
## Description When downloading mockery I ran into an issue where we were using the old version. This PR updates to a more recent version. changelog? Closes: #XXX |
4 years ago |
Erik Grinaker |
511ab6717c
|
add state sync reactor (#4705)
Fixes #828. Adds state sync, as outlined in [ADR-053](https://github.com/tendermint/tendermint/blob/master/docs/architecture/adr-053-state-sync-prototype.md). See related PRs in Cosmos SDK (https://github.com/cosmos/cosmos-sdk/pull/5803) and Gaia (https://github.com/cosmos/gaia/pull/327). This is split out of the previous PR #4645, and branched off of the ABCI interface in #4704. * Adds a new P2P reactor which exchanges snapshots with peers, and bootstraps an empty local node from remote snapshots when requested. * Adds a new configuration section `[statesync]` that enables state sync and configures the light client. Also enables `statesync:info` logging by default. * Integrates state sync into node startup. Does not support the v2 blockchain reactor, since it needs some reorganization to defer startup. |
5 years ago |