Zero knowledge Interep NFTs.
This is a simple demo to show how Interep can be used, and it currently allows those in a Github gold group to mint a reputation NFT without having their Ethereum account or token linked to any Web2 identity.
Clone this repository and install the dependencies:
git clone https://github.com/interep-project/nfts.git
cd nfts
yarn # or `npm i`Copy the .env.example file and rename it .env.
Compile the smart contracts with Hardhat:
yarn compileLint the Solidity or the TypeScript code:
yarn lint:sol
yarn lint:ts
# or yarn lint to lint both.And check if the code is well formatted:
yarn prettierRun the Mocha tests:
yarn testGenerate the code coverage report:
yarn test:coverageSee the gas usage per unit test and average gas per method call:
yarn test:report-gasDeploy the InterepNFT contract with a valid Interep address:
yarn deploy --interep-address <address>If you want to deploy contracts in a specific network you can set up the DEFAULT_NETWORK variable in your .env file with the name of one of our supported networks (hardhat, localhost, ropsten, kovan, arbitrum). Or you can specify it as option:
yarn deploy --interep-address <address> --network kovan
yarn deploy --interep-address <address> --network localhostIf you want to deploy the contracts on Ropsten, Kovan or Arbitrum remember to provide a valid private key and an Infura API in your .env file.
Run a Hardhat Network in a stand-alone fashion:
yarn startDeploy an InterepNFT contract:
yarn deploy --interep-address <address> --network localhostYou can omit --network localhost if your DEFAULT_NETWORK env variable is equal to localhost.