hypercerts-org / hypercerts

Hypercerts are a tool to build scalable retrospective reward systems for impact.
https://hypercerts.org/
Other
93 stars 30 forks source link
impact public-goods web3

hypercerts License: Apache 2.0 Github Actions

Hypercerts is a tool to build scalable retrospective reward systems for impact. For more details, check out our website.

Organization

Quickstart with Dapp development

Setup and build the frontend

First, make sure the environment variables are set for ./frontend. Take a look at ./frontend/.env.local.example for the complete list.

Then do a turbo build of all apps, run the following:

yarn install
yarn build

The resulting static site can be found in ./build/.

Running the prod server

If you've already run the build, you can use yarn serve:build to serve the built files

Running the frontend dev server

To run a dev server that watches for changes across code and Plasmic, run:

yarn dev:frontend

E2E Local Development

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.

Setup environment variables

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=

Starting the local development infrastructure

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.

Playbooks

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.