avalanchego
avalanchego copied to clipboard
Blocks backfilling option - 2 ProposerVM
Why this should be merged
Node that state synced may need to index all blocks and transactions below state summary height. This PR introduced the possibility to do so. The PR is somewhat large in LOC,but 1100 of these LOC are UTs. ProposerVM has pretty lengthly UTs setup.
How this works
Backfilling is split in the following PRs
- [X] Introduce new interface as well as empty implementation to unlock compilation.
- [X] Implement block retrieval in engine, via GetAncestors. See https://github.com/ava-labs/avalanchego/pull/2144
- [X] Implement backfil handling in proposervm.
- [ ] Implement backfil in coreth. See https://github.com/ava-labs/avalanchego/pull/2255
- [ ] Experiment with bandwith aware peer tracker to speed up blocks download. See https://github.com/ava-labs/avalanchego/pull/2273
How this was tested
extra UTs + successful mainnet sync with https://github.com/ava-labs/avalanchego/pull/2273 code
This PR has become stale because it has been open for 30 days with no activity. Adding the lifecycle/frozen
label will cause this PR to ignore lifecycle events.