Semaphore Hardhat + Next.js + SemaphoreEthers template
This project is a complete application that demonstrates a basic Semaphore use case. It comes with a sample contract, a test for that contract and a sample task that deploys that contract. It also contains a frontend to play around with the contract.
Install
Install dependencies
yarn
📜 Usage
Local server
You can start your app locally with:
yarn dev
Deploy the contract
- Go to the
apps/contracts
directory and deploy your contract:
yarn deploy --semaphore <semaphore-address> --network sepolia
-
Update your apps/web-app/.env.production
file with your new contract address and the group id.
-
Copy your contract artifacts from apps/contracts/artifacts/contracts/
folder to apps/web-app/contract-artifacts
folder manually.
[!NOTE]
Check the Semaphore contract addresses here.
Code quality and formatting
Run ESLint and solhint to analyze the code and catch bugs:
yarn lint
Run Prettier to check formatting rules:
yarn prettier
Or to automatically format the code:
yarn prettier:write