Closed
Description
opened on Jul 29, 2021
Epic for tracking SMT Migration and other work related to ADR040.
Architecture
- support state-sync ADR-040 Implementation: Support state sync #10194
- rootstore / multistore design (wip)
- docs: adr-40: reduce multistore and make it atomic #9355
- test the design
- docs(adr): update ADR-40 by adding low level access to SC #9451
- migration design @robert-zaremba
store/v2 Implementation
For MVP:
- feat: ADR 040: New DB interface #9573
- feat: ADR-040: Implement RocksDB backend #9851
- feat: ADR-040: Implement BadgerDB backend #9848
- feat: ADR-040: Implement KV Store with decoupled storage and SMT #9892
- feat: ADR-040: Add
RootStore
implementation #10430 - Implement KVStore Cache / session
- feat: ADR-040: ICS-23 proofs for SMT store #10015
- ADR-040 Implementation: Incorporate v2.MultiStore into BaseApp #10804
- for MVP, integrate store/v2 into baseapp. The support for optional store/v1 or store/v2 we will do later (see Next)
- feat!: ADR-040: Refactor App to use
v2.MultiStore
#10174
- ADR-040 Implementation: Migrate storage command/script for store v2 #10803
Next:
- State sync: ADR-040 Implementation: Support state sync #10194
- Interblock multistore cache
- base app wiring: create two functions to wire app with store/v1 or store/v2
- abstract app setup to be able to be able to choose
- low level interface implementation
- key prefix compression
- Overall performance Analyze and improve store/v2 performance #11328
Quality Assurance
Orijtech + SDK QA Team
- Orijtech audit of SMT library @cuonglm @odeke-em
- Storage benchmark (best to compare it with the current one)
- store: write extensive tests that exorcize store/* #10298
- store: write benchmarks /store and /store/v2 with different load scenarios #10297
Documentation and spec update
- Review and update documentation
- Review and update specs
Child Issues
Child issues:
- New DB interface: ADR-040 Implementation: New DB interface #10094
- Hook state store and SMT into the SDK: ADR-040 Implementation: Hook state store and SMT into the SDK #10117
- Review and refactor MultiStore: ADR-040 Implementation: Review and refactor MultiStore #10192
- Refactor BaseApp to use new v2 MultiStore: ADR-040 Implementation: Incorporate v2.MultiStore into BaseApp #10804
- Support state sync: ADR-040 Implementation: Support state sync #10194
- Storage migration: ADR-040 Implementation: Migrate storage command/script for store v2 #10803
- Store performance: Analyze and improve store/v2 performance #11328
Activity