This repository is part of an earlier iteration of hypercerts and is no longer actively maintained.
Please do not use this repository for new integrations or development.
This repo is kept for historical reference.
Hypercerts is a tool to build scalable retrospective reward systems for impact. For more details, check out our website.
-
/contracts: Smart contracts (Foundry+Hardhat)- Manually deployed via hardhat tasks
- Note: This is not currently on CI/CD
Network HypercertMinter (UUPS Proxy) Safe Goerli 0x822F17A9A5EeCFd66dBAFf7946a8071C265D1d07 0x8CD35a62fF56A91485eBF97491612F1552dbc1c9 Sepolia 0xa16DFb32Eb140a6f3F2AC68f41dAd8c7e83C4941 TBD Celo 0x16bA53B74c234C870c61EFC04cD418B8f2865959 TBD Optimism 0x822F17A9A5EeCFd66dBAFf7946a8071C265D1d07 0x560adA72a80b4707e493cA8c3B7B7528930E7Be5 Base Sepolia 0xC2d179166bc9dbB00A03686a5b17eCe2224c2704 0xA2Cb9D926b090577AD45fC0F40C753BF369B82Ff Base Sepolia 0xC2d179166bc9dbB00A03686a5b17eCe2224c2704 0x1FD06FD7743dB499a2d5bfBeD33A9Dc559a8D360 -
/cors-proxy: CORS proxy for Cloudflare Workers -
/defender: OpenZeppelin Defender integration -
/docs: documentation (Docusaurus)- on Fleek - Production build on mainnet
- on Cloudflare - Staging build on Goerli
-
/frontend: frontend application (Next.js)- on Fleek - Production build on mainnet
- on Cloudflare - Staging build on Goerli
-
/graph: The Graph integration -
/sdk: Hypercerts SDK- Manually published to npm
-
/utils: various scripts for operations- Manually run
First, make sure the environment variables are set for ./frontend.
Take a look at ./frontend/.env.local.example for the complete list.
- You can either set these yourself (e.g. in CI/CD)
- or copy the file to
.env.localand populate it.
Then do a turbo build of all apps, run the following:
yarn install
yarn buildThe resulting static site can be found in ./build/.
If you've already run the build, you can use yarn serve:build to serve the built files
To run a dev server that watches for changes across code and Plasmic, run:
yarn dev:frontendWe now have a mostly localized development infrastructure that can be used when developing the Dapp. The localized development infrastructure will spin up a localchain, graph, and postgres. Your local machine must have docker and docker compose installed.
You will then need to create a .env.local file in the root of the repository with the following environment variables:
# Required
PLASMIC_PROJECT_ID=
PLASMIC_PROJECT_API_TOKEN=
NEXT_PUBLIC_NFT_STORAGE_TOKEN=
NEXT_PUBLIC_WEB3_STORAGE_TOKEN=
NEXT_PUBLIC_WALLETCONNECT_ID=
# Optional (used to fund an address on the localchain)
LOCAL_TESTING_ADDRESS=
Once you have your environment configured you can run the infrastructure like so:
yarn dev:serve-e2e
Once everything is done, the dapp will be served from http://127.0.0.1:3000. You will need to point your metamask to the localchain at 127.0.0.1:8545 with ChainID 31337.
For setup and common operations for each subproject, navigate into the respective directory and check out the README.md.
We also maintain a playbook for larger operations.