boilerplate
boilerplate copied to clipboard
Simple monorepo you can use as a template to start developing your dApp with Semaphore.
Semaphore Boilerplate
| The repository is divided into two components: web app and contracts. The app allows users to create their own Semaphore identity, join a group and then send their feedback anonymously (currently on Sepolia). |
|---|
🛠 Install
Use this repository as a Github template.
Clone your repository:
git clone https://github.com/<your-username>/<your-repo>.git
and install the dependencies:
cd <your-repo> && yarn
📜 Usage
Copy the .env.example file as .env:
cp .env.example .env
and add your environment variables or run the app in a local network.
Local server
You can start your app locally with:
yarn dev
Deploy the contract
- Go to the
apps/contractsdirectory and deploy your contract:
yarn deploy --semaphore <semaphore-address> --group <group-id> --network sepolia
-
Update the
apps/web-app/.env.$(NODE_ENV).localfiles with your new contract address, the group id and the semaphore contract address. -
Copy your contract artifacts from
apps/contracts/artifacts/contractsfolder toapps/web-app/contract-artifactsfolder.
Note
Check the Semaphore contract addresses here.
Warning
The group id is a number!
Verify the contract
Verify your contract on Etherscan:
yarn verify <your-contract-address> <semaphore-address> <group-id> --network sepolia
Note
Remember to set the Etherscan API Key in your .env file.
Code formatting
Run Prettier to check formatting rules:
yarn prettier
or to automatically format the code:
yarn prettier:write