This is a template to do EVM smart contract development with all my favorite toolings and no fluff:
Goes without saying, will make your developer experience so, so much better than vanilla JS
Generates typings for your contracts after compiling automatically (in ./typechain
)
Allows for more modular deployments. See their docs for more on how to unleash its power
Allows for easy testing with improved compatability with asynchronous functions and smart contracts (reverts, BigNumber, etc.)
Size matters on the blockchain. See their docs for configuration details, but you can simply run yarn size
and you'll get a breakdown of how big each contract is.
Configured for both your Solidity and Typescript code
In ./utils/config.ts
you can configure your environment variables to have default values so things don't break midway through your script because you forgot an environment variable.