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.

  • xoron@programming.dev
    cake
    OP
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    2 days ago

    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.)

      • xoron@programming.dev
        cake
        OP
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        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.