UniChat: An open decentralized protocol for public messaging
This project uses decentralized nodes to store message data submitted by end users, to any website that a company or community may choose to run on top of UniChat. A smart contract is used to store the hashes of the batched messages submitted by the nodes to help ensure there is consensus on the UniChat network. Our goal with this project is to create a building block for future messaging and chat platforms that do not want to deal with centralized entities like Facebook, Snap or Twitter to allow their users to communicate.
EVM smart contract deployed on Optimism (Kovan). The Node runs an Express server that talks to other nodes, serves requests to the frontend, submits transactions onchain, and listens for events. Frontend written in Next.js, Typescript. Optimism was great for instant confirmations and cheap gas costs to allow for repetitive testing without refilling on faucets. We're very proud of what was built!