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_KEYenvironment 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 useNvm installation instructions may be found here;
Install dependencies
npm installnpm run compileRun all the tests
npm run testObtain the test coverage
npm run test:coverRun a security and practices analysis by solhint
npm run solhint