-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Last year, I used the "truffle-ganache-web3.js" stack due to personal familiarity. (last time I wrote Solidity was early 2019... 🙃, so quite outdated myself)
However, the current norm among most prominent projects are switching to "waffle-hardhat-ethers.js" stack.
Even though there's nothing wrong with the original stack and it's ultimately a developer preference, I do believe it's important that we use the most modern tools to prepare our students.
So my brief justifications here:
Why hardhat?: hardhat focus on debug experience with support like console logging within contract, stack tracing and a rich modular plugin for contract sizing, gas reporting etc.
Why waffle?: light weight, less dependency, TypeScript support, faster, good integration with ethers.js
Why ether.js: more modular than web3.js, better maintained
Read this doc for how to use these three in our stack
Links
(cc @sgsourav @GwynethAXY)