This is a skeleton repository to work as a foundation for a smart contracts project using Solidity.
- Clone the repo
- Run
yarn install
- Hardhat: Ethereum development environment for professionals.
- Waffle: The most advanced framework for testing smart contracts
- Typechain: TypeScript bindings for Ethereum smart contracts
- Tenderly: Real-time monitoring, alerting, and troubleshooting for Smart Contracts.
- Ethers: A complete Ethereum wallet implementation and utilities in JavaScript (and TypeScript).
- Etherscan: Verify contracts in The Ethereum Blockchain Explorer
- ABI Exporter
- Gas Reporter
- Contract Sizer
- OpenZeppelin Upgrades
Look at the package.json
inside scripts section to see available commands. A number of helper build scripts are located in /scripts
.
Compiles contracts and creates Typechain bindings.
yarn build
Runs all tests in the /test
folder.
yarn test
Run all tests calculating gas estimations.
yarn test:gas
The gas report will be saved on the /reports
folder.
Create/modify network config in hardhat.config.ts and add API key and private key, then run:
npx hardhat run --network rinkeby scripts/deploy.ts
Using the hardhat-etherscan plugin, add Etherscan API key to hardhat.config.ts, then run:
npx hardhat verify --network rinkeby <DEPLOYED ADDRESS>