On chain components of the StealthPay protocol.
This dev toolchain based on @paulkberg's solidity-template repo includes:
- Hardhat: compile and run the smart contracts on a local development network
- TypeChain: generate TypeScript types for smart contracts
- Ethers: renowned Ethereum library and wallet implementation
- Waffle: tooling for writing comprehensive smart contract tests
- Solhint: linter
- Solcover code coverage
- Prettier Plugin Solidity: code formatter
Before running any command, make sure to install dependencies
$ yarn install
Compile the smart contracts with Hardhat:
$ yarn compile
Compile the smart contracts and generate TypeChain artifacts:
$ yarn build
Run the Mocha tests:
$ yarn test
Delete the smart contract artifacts, the coverage reports and the Hardhat cache:
$ yarn clean
$ yarn deploy
$ yarn deploy:registry
- Verify contact
- 1.reading artfacts->build-info/*.json-->input:{XXXX}
- 2.save->xxxx.json
- 3.etherscan.io->upload JSON
node.js v18 for windows
"deploy": "SET NODE_OPTIONS=--openssl-legacy-provider && yarn build && hardhat run scripts/deploy.js",
"deploy:registry": "SET NODE_OPTIONS=--openssl-legacy-provider && yarn build && hardhat run scripts/deploy-registry.js"
node.js v18 for Linux
"deploy": "export NODE_OPTIONS=--openssl-legacy-provider && yarn build && hardhat run scripts/deploy.js",
"deploy:registry": "export NODE_OPTIONS=--openssl-legacy-provider && yarn build && hardhat run scripts/deploy-registry.js"
#npx hardhat verify --contract contracts/ERC20Token.sol:ERC20Token --network goerli 0xxxx021221212 \"USD Coin\" \"USDC\""
- CMD: npx hardhat verify
- contract: --contract contracts/ERC20Token.sol:ERC20Token
- contract address and parameters: --network goerli 0xxxx021221212 "USD Coin" "USDC""
The parameters must be the same as those published in the contract