🏛️ Hermes is a high-availability blockchain voting database that acts as a distributed storage and event processor for voting events, proposals, and actions.
Investigate/Implement OrbitDB as a decentralized DB.
Description
We eventually need a Decentralized DB.
One approach is to solve each Decentralized Data storage challenge individually.
Another is to use a pre-existing Decentralized DB abstraction.
OrbitDB is one such: https://github.com/orbitdb/orbitdb/tree/main
Tasks:
[ ] Investigate if OrbitDB is a usefull Decentralized DB for our use case.
[ ] Port Orbit DB from the specification and JS implementation to rust, and include it as core functionality into our IPFS abstraction crate.
[ ] Add Hermes API's to use the OrbitDB easily from within WASM.
We do not want to provide a HTTP Api, but a more traditional API that applications can use directly.
It would be useful to be able to be interoperable with the JS and Golang version if possible.
There is also a Golang and Python port which might be helpful to inspect during the porting process. But the JS port and specifications should be considered the definitive source of truth.
See:
Summary
Investigate/Implement OrbitDB as a decentralized DB.
Description
We eventually need a Decentralized DB. One approach is to solve each Decentralized Data storage challenge individually. Another is to use a pre-existing Decentralized DB abstraction. OrbitDB is one such: https://github.com/orbitdb/orbitdb/tree/main
Tasks:
We do not want to provide a HTTP Api, but a more traditional API that applications can use directly.
It would be useful to be able to be interoperable with the JS and Golang version if possible.
There is also a Golang and Python port which might be helpful to inspect during the porting process. But the JS port and specifications should be considered the definitive source of truth. See: