Follow these instructions to deploy your own instance of EasyRetroPGF.
- Click to view the
.env.example
file in your newly created repo - Copy its contents and paste into a text editor
The .env.example
file contains instructions for most of these steps.
At the very minimum you need to configure a postgres database, nextauth and the voting periods under App Configuration.
https://vercel.com/dashboard/stores?type=postgres
- Press Create Database button
- Select Postgres, press continue, and give it a name and region
- Press
.env.local
tab, Copy Snippet and paste into text editor
- Generate a secret (
openssl rand -base64 32
) - Configure
NEXTAUTH_URL
(this should only be necessary on localhost or for production domains)
The default configuration is Optimism.
You can find supported networks on the EAS documentation website: https://docs.attest.sh/docs/quick--start/contracts
Configure how many votes each voter receives and how many votes each project can receive. You can also find configurations for when voting starts and ends as well as the registration and review period.
Here, you can also configure who your admins are. These are the users who will approve applications and voters.
To create your own round you need to do a few things:
- Update
NEXT_PUBLIC_ADMIN_ADDRESSES
with a comma-separated list of wallet addresses that approve the applications and voters (badgeholders) - Set
NEXT_PUBLIC_ROUND_ID
to a unique identifier that will group the applications and lists you want to list
If you are running on a different network than Optimism you need to update the contract addresses for EAS. These addresses are used whenever an attestation is created.
You can also configure your own schemas here if you wish to.
- Import the repo you created/forked
- Open the Environment Variables panel
- Select the first field and paste your variables from your text editor
- Deploy!
Edit tailwind.config.ts
and src/config.ts
You can edit files directly in GitHub by navigating to a file and clicking the Pen icon to the right.
You can create your own schemas by running this script.
WALLET_PRIVATEKEY="0x..." npm run eas:registerSchemas