Recently, I’ve been using Couchbase Lite in a few mobile apps. (It was originally based on CouchDB) Combined with Sync Gateway and Couchbase Server it’s a brilliant system, which solves a lot of common problems regarding local/remote data replication and user content sharing.
For a while now I have been thinking about how best make my data decentralised. I have two main aims: 1) Not needing to maintain and pay for a database server and 2) Be part of the decentralised data revolution
For my current use-case I won’t need online queries, those will happen only once replicated to a device.
The way I see it there are two main paths to using Couchbase Lite with IPFS:
- Add a custom replicator, so that it can replicate to/from IPFS as well as other CBLite instances and Sync Gateway. CBLite now uses WebSockets and I wonder how this could interface with IPFS, in terms of broadcasting changes.
- Create a fork of Sync Gateway (which is itself written in Go) combined with libp2p to create a “service layer” that would handle replication between the CBLite database and the data store (which could be IPFS or something else).
Number 2 seems very ambitious to me. So currently thinking more about path 1. I’ve been looking into OrbitDB as an example of how to build a database on top of IPFS and there’s been some work on interfacing it with PouchDB which operates on the same basic CouchDB protocol as CBLite.
Posting here to see if anyone has any thoughts or advice on this idea.