This repository contains the only and simple contract for this Semaphore demo app. The contract acts as a Semaphore group admin and allows anyone to join the managed group.
This repository is developped using hardhat. One is free to directly use the available scripts from hardhat using npx
, otherwise, a set of local script have been made in order to allow safe local development.
Proper environment variables are needed in order to run the various scripts
REPORT_GAS
: if truthy, the gas measurements of the tests will be translated in USD value. TheCOINMARKET_CAP_API_KEY
environment variable will need to be set,COINMARKET_CAP_API_KEY
: an API key for CoinMarket Cap in order to retrieve USD value of ETH,ETHERSCAN_KEY
: an etherscan key used in order to verify the contracts on Etherscan,
Use configured node and npm versions
nvm use
Nvm installation instructions may be found here;
Install dependencies
npm install
npm run compile
Run all the tests
npm run test
Obtain the test coverage
npm run test:cover
Run a security and practices analysis by solhint
npm run solhint