im working on a decentralized messaging app and generally up until recently i thought in such a system, if a peer is offline, you cant send a message… it wouldnt be “decentralized” if there was some central queue of messages.
it took embarassingly long, but then it hit me… git… just regular git is a decentralized database.
in my setup i need the ability for others to be abe to read and only i should be able to write to it. that functionality is out-the-box in git.
git is also pretty standardized so there are many providers if users want to move away from Github.
the storage requirements for my project are fairly small. typically small text messages. the data itself thats publicly readable would be encrypted.


I see. So, the benefit is that one can start using the app locally but restricted to live chat only and can add git as an optional message cache for offline users?
I think there’s a couple blockchain-based ones out there that have similar zero-setup costs, but give you the offline messages right away by putting them in the chain. And one could package at least XMPP and DeltaChat/Email in such a way, since they rely on resending to offline recipients and can run fine locally.
I guess we’d need a full description of your protocol; Maybe there is a benefit I’m not seeing. Anyway: Have fun and good luck
=^_^=That’s right. Git as an offline cache. When you read a peers message, you can also update you own git repo to say you read it, and so when the peer comes online they can update their side to delete the messages (keeping the size small)… Going further against the grain, the app doesn’t care about the history of messages deleted, so I expect to add things for purging history.
I considered the Blockchain, but i think the git approach is better. It’s hard to describe what I’m imagining. I’d like to put together a demo when I get time.
I have a full-ish description of the protocol.
https://positive-intentions.com/docs/technical/whitepaper/complete-protocol-spec
Instead of reading that, if you really want to know more, I would suggest you ask me for clarity. (Nothing about this git approach is mentioned there.)
Thx, I’ll dig into the spec next week ;-)
feel free to reach out. im reluctant to waste your time on reading through all that draft. its fairly unique and more going against the grain… not typically a good sign.
my project is far from finished including all the spec and docs.