onPoster / app

A decentralized web application for interacting with ERC-3722 – Poster.
https://poster-app.on.fleek.co/
GNU General Public License v3.0
16 stars 6 forks source link
ethereum
██████╗  ██████╗ ███████╗████████╗███████╗██████╗
██╔══██╗██╔═══██╗██╔════╝╚══██╔══╝██╔════╝██╔══██╗
██████╔╝██║   ██║███████╗   ██║   █████╗  ██████╔╝
██╔═══╝ ██║   ██║╚════██║   ██║   ██╔══╝  ██╔══██╗
██║     ╚██████╔╝███████║   ██║   ███████╗██║  ██║
╚═╝      ╚═════╝ ╚══════╝   ╚═╝   ╚══════╝╚═╝  ╚═╝
    ___
   /   |  ____  ____
  / /| | / __ \/ __ \
 / ___ |/ /_/ / /_/ /
/_/  |_/ .___/ .___/
      /_/   /_/

An app for 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. The app is a simple UI to create and wrap the content in a PIP-friendly format parseable by our subgraphs.

The Poster smart contract can be found here.

Architecture

Poster App is structured by 4 main components:

  1. Poster - A EVM-compatible append-only content smart contract. See here for more information.
  2. PIPs - Poster Improvement Proposals (or PIPs), which define the schema and format of content that will be parsed in our TheGraph subgraph. All PIPs can be found here, and you can see the original PIP (PIP-01 or ERC-3722) here
  3. Subgraph - An indexer powered by TheGraph protocol able to organize and parse posted contents sent to the Poster contract into readable and structured messages. See here for more information.
  4. App - A sample UI to showcase Poster via a web3 provider like Metamask. See here for more information.

Apps

Poster App is one of other existing apps within the Poster ecosystem:

Getting started

  1. Start a node and deploy Poster from contracts repository by running yarn run node && yarn deploy
  2. Start a graph node from the subgraph repository by running docker-compose up -d
  3. To deploy the subgraph to the graph node, run NETWORK=localhost npm run define, then npm run codegen, npm run build, npm run create-local, and finally, npm run deploy-local
  4. Start the app ui frmo the apps repository by running yarn dev:local

Made with ❤️ by jjperezaguinaga.eth