-
Notifications
You must be signed in to change notification settings - Fork 24
Labels
Description
Currently, nodes utilizing Firewood have access to the latest N revisions. Any older revisions are no longer tracked, which is a blocker for archival support as archival nodes need to be query the world state at any given accepted block height.
Implementing this epic requires the following:
- Adding a mock
RootStoreto Firewood (PR chore(db/manager): addMockStore#1346 which uses PRs refactor(db):TestDbconstructor #1351 and chore(nodestore): access persisted nodestores #1355 ) - Enabling
gocalls with different rootstores (feat(ffi): enable go calls with different rootstores #1384) - Adding a production
RootStoreimplementation to Firewood (feat(firewood/ffi): add productionRootStoreimplementation #1432)- Run reexecution tests against
ProductionStore(test: reexecution tests withProductionStore#1386)- We should be able to compare the performance of using Firewood compared to LevelDB.
- Extending our metrics to include
ProductionStoremetrics (feat(firewood): addProductionStoremetrics #1385)
- Run reexecution tests against
- Enable archival support in Coreth (Enable Firewood Archival Support coreth#1387) (NFV)
- Add Firewood archival option to reexecution test (feat(reexecute/c): add firewood archival config option avalanchego#4442) (NFV)
- Add integration tests to Coreth to test Firewood's archival support
Guide:
(NFV - New Firewood Version): requires pushing out a version of firewood-go-ethhash that has a production implementation of RootStore