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.local
and populate it.
Then do a turbo build of all apps, run the following:
yarn install
yarn build
The 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:frontend
We 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.