⚠️ [DEPRECATED] This repository has been deprecated in favor of separate repositories as listed on our organisation page.
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.