Context
Currently database access is abstracted using custom, minimalistic set of interfaces.
There are two concrete cases where we need to use IPFS Datastore interface - header abstraction (see #574) and ConnectionGater (see: #386, #610).
Tasks
Requirements
Currently, rollmint use/require following access patterns
- simple KV access
- batching
- prefix-iteration
- prefix-based "substores"
Notes
namespace package looks like alternative to PrefixKV.
- indexer and txindex use iteration and batching a lot; this code is "copy-pasted and modified" from Tendermint - we tend to minimize changes there
References
IPFS links
rollmint interfaces
https://github.com/celestiaorg/rollmint/blob/8a3780e73569e75c14e942e3ad53373e343ecb3a/store/kv.go#L9-L36
Context
Currently database access is abstracted using custom, minimalistic set of interfaces.
There are two concrete cases where we need to use IPFS Datastore interface - header abstraction (see #574) and
ConnectionGater(see: #386, #610).Tasks
Requirements
Currently, rollmint use/require following access patterns
Notes
namespacepackage looks like alternative toPrefixKV.References
IPFS links
rollmint interfaces
https://github.com/celestiaorg/rollmint/blob/8a3780e73569e75c14e942e3ad53373e343ecb3a/store/kv.go#L9-L36