RipDB is a tool for developers who want to store JSON data that is extremely fast, but preserves decentralization and user provenance.
The tool was inspired by my own experience needing to store some data off chain to calculate merkle proofs.
Its essentially Redis for JSON, backed up by IPFS and with encryption support!
The project stack has three components:
The end user (developer) uses the rip front end to interface with the server / storage.
To build the project, I set up a local redis client and an interface to that client. I built functions that store data on the redis, but then in the background back up the data on IPFS. One funny hack is that I actually used nft.storage to store blobs on IPFS (because I already had familiarity with the library).
Given more time, I would have used a different client to IPFS other than nft.storage lol.
On the front end, I integrated lit protocol to connect wallet and create an auth signature which is used to decrypt / encrypt data for RIP. One challenge here was converting data back and forth between blobs / strings for storage within JSON storage on RIP. I ended up storing encrypted data as a data url and fetching the data url to grab a blob of the data for decryption on LIT protocol.
Given more time, I would like to make the interface neater on the front end client and package it into a node_module (vs. right now I just really have a raw example in an html file)