A ridiculously simple general purpose social media smart contract. It takes a string as a parameter and emits that string, along with msg.sender, as an event. That's it.
Poster is a general-purpose social media network. Thanks to the Subgraph, we are able to create an on-chain Ethereum-powered social media network, which allows us to take advantage of the composability and permissionless nature of the blockchain. Any Ethereum account can make posts to the deployment of Poster on its local network or via our UI, which is free, open-source, and accessible to anyone.
How it's made
The UI relies on UseDapp, Next.js, and TypeScript to interact with TheGraph via the ApolloClient. We inspect the blockchain via an Infura provider, and upon new events, we re-query the Subgraph as needed. The smart contract was deployed on Polygon, which helped us to make the case for cheap and fast on-chain transactions. The Subgraph was heavily used as a L2 for our own custom schema which parses the content as a JSON file that is then being interpreted by the UI. All images are immediately posted to IPFS via Web3.Storage and shown to the user. They can submit these as CID to the Poster contract and the UI makes sure to fetch them on query. The idea is to make the whole thing as much decentralized as possible.Technologies used