Thought to have a fast way of bootstraping projects with best practice's in mind. Having linters, prettiers, standards on how to commit, and changelog creation & maintenance.
This is achieved using several hardhat plugins, and external known packages.
# Install dependencies
yarn install
# Copy Env example file
cp .env.example .envAfter installing dependencies and copying the example environment, you will have to update your .env file with
at least you alchemy API KEY (NODE_URI_ETHEREUM).
You can generate your API KEY in the Alchemy site.
This boilerplate includes:
- Hardhat
- Solhint
- Prettier
- Coverage
- Gas reporter
- Commitlint
- Standard version
- Uniswap + Internal tooling
yarn coverageRuns solidity code coverage
yarn forkRuns a mainnet fork via hardhat's node forking util.
yarn fork:script {path}Runs the script in mainnet's fork.
yarn fork:test
Runs tests that should be run in mainnet's fork.
yarn lint:checkRuns solhint.
yarn lint:fixRuns prettier
yarn releaseRuns standard changelog, changes package.json version and modifies CHANGELOG.md accordingly.
yarn test:allRuns all solidity tests.
yarn test:unitRuns all solidity tests in folder unit
yarn test:e2eRuns all solidity tests in folder e2e
yarn test:gasRuns all tests and report gas usage.