Skip to content

thomasheremans/easy-retro-pgf

 
 

Repository files navigation

EasyRetroPGF

Key Steps

  • Set round timing variables in the .env. The application only works with one round at the time.
  • Projects applications open
  • Admins review applications and approve if relevant
  • Voting opens by whitelisted addresses (by admins)
  • Results are displayed
  • Distribution can be done

Documentation

Supported Networks

All networks EAS is deployed to are supported

Mainnets

  • Ethereum
  • Optimism
  • Base
  • Arbitrum One
  • Linea
  • Celo
  • Filecoin

Testnets

  • Sepolia
  • Optimism Goerli
  • Base Goerli
  • Arbitrum Goerli
  • Polygon Mumbai
  • Linea Goerli

Development

To run locally follow these instructions:

git clone https://github.com/gitcoinco/easy-retro-pgf

bun install # (or pnpm / yarn / npm)

cp .env.example .env # and update .env variables

docker-compose up # starts a local postgres instance

bun run dev

bun run db:push # create database tables

open localhost:3000

Technical details

  • EAS - Projects, profiles, etc are all stored on-chain in Ethereum Attestation Service
  • Batched requests with tRPC - Multiple requests are batched into one (for example when the frontend requests the metadata for 24 projects they are batched into 1 request)
  • Server-side caching of requests to EAS and IPFS - Immediately returns the data without calling EAS and locally serving ipfs cids.
  • SQL database for ballots - Votes are stored privately in a Postgres database
  • Allo2 for token distribution - Payouts are calculated based on amount of configured tokens in the pool and the vote calculation

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.0%
  • JavaScript 3.9%
  • CSS 0.1%