An on-chain social-app, think reddit with native chat, using EAS attestations for proof of authorship.
MoshiMoshi is a a fully onchain social app, deployed on Base Goerli, Op Goerli, Zora Goerli and Mode Sepolia testnets with two major functions. Firstly, it allows you create threads, comment on threads, comment on those comments and so on. You can upvote individual threads and comments, giving them a more prominent position in the UI. Think Reddit, decentralised.
Secondly, there's chat functionality that allows you to converse (in public) with any wallet address or ENS. You can also browse the users profile to see some of their onchain data.
The project uses nextjs as the frontend, with wagmi/rainbow kit for the UI. Mode network is added as a custom chain. Styling is done with Tailwind.
The EAS SDK is used for interaction with the ethereum attestation service which powers the underlying content. I also leverage easscan indexers to grab data.
Where EAS is not yet supported (Zora & Mode) I deployed and verified EAS mock contracts, registries and schema and set up local indexers. (I intend to push to production shortly but pls note: until that point, querying data on Zora and Mode will return empty results.)
I used Covalent's APIs to grab token ownership data for user profiles and i'd like to add NFT data to this eventually too.
The smart contract work, deployment and verification was done using foundry.
I use event subscriptions to make the chat feel seamless and not have to refresh the page to load in new data.