-
Notifications
You must be signed in to change notification settings - Fork 255
Use Datasource interface #620
Copy link
Copy link
Closed
Description
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
- Decide what is the best solution
- replace current interface with Datastore in rollmint codebase
- implement Datastore interface using rollmint code
- implement rollmint interfaces using Datastore interface
- Implement selected solution
Requirements
Currently, rollmint use/require following access patterns
- simple KV access
- batching
- prefix-iteration
- prefix-based "substores"
Notes
namespacepackage looks like alternative toPrefixKV.- 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
- Datastore package: https://github.com/ipfs/go-datastore
- Badger2 implementation: https://github.com/ipfs/go-ds-badger2
rollmint interfaces
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels