A quick template made for personal use to ease the headache of setting up config parameters when starting a new project.
It is particularly tuned to my preferences and project structure, but feel free to use it as well 😄
I intend to keep updating as I learn more and identify recurring project features.
Some of the main features and plugins being used are:
- Hardhat: Ethereum Development Environment.
- TypeChain: TypeScript types generator for smart contracts.
- Ethers: Ethereum library implementation.
- Waffle: Tooling for writing comprehensive smart contract tests.
- Solhint: Linter.
- Prettier (Solidity): Code formatter.
- Hardhat-Deploy: Hardhat plugin for better deployment management.
Additionally, I have also added some commonly used smart contract dependencies:
And finally, I also make use of some scripts and config in the Utils
folder. Some of the hardhat files use these scripts to improve readability/maintainability.
Install all dependencies:
$ yarn install
Compile the smart contracts with Hardhat:
$ yarn hardhat compile
Don't forget to set up the
.env
file.
Run the Mocha tests:
$ yarn test
$ yarn hardhat deploy --network rinkeby