semaphore-demo-contracts
v1.1.0
Published
Contracts for the Semaphore demo app
Downloads
5
Maintainers
Readme
Semaphore Demo Contracts
:warning: This application has been developed for educational purposes and should not be considered as a serious product :warning:
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.
Local Development
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.
Setup
Environment Variables
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,
Nvm
Use configured node and npm versions
nvm use
Nvm installation instructions may be found here;
Dependencies
Install dependencies
npm install
Compile the smart contracts
npm run compile
Tests
Run all the tests
npm run test
Obtain the test coverage
npm run test:cover
Solhint
Run a security and practices analysis by solhint
npm run solhint