defi-wonderland / solidity-hardhat-boilerplate

Start your next Solidity project with Hardhat in seconds

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hardhat Boilerplate

Why ?

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.


How ?

This is achieved using several hardhat plugins, and external known packages.


Setup

# Install dependencies
yarn install
# Copy Env example file
cp .env.example .env

After 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.


Tools

This boilerplate includes:


Commands

Coverage

yarn coverage

Runs solidity code coverage

Fork

yarn fork

Runs 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.

Lint

yarn lint:check

Runs solhint.

Prettier (lint fix)

yarn lint:fix

Runs prettier

Release

yarn release

Runs standard changelog, changes package.json version and modifies CHANGELOG.md accordingly.

Test

yarn test:all

Runs all solidity tests.

yarn test:unit

Runs all solidity tests in folder unit

yarn test:e2e

Runs all solidity tests in folder e2e

Gas report

yarn test:gas

Runs all tests and report gas usage.

About

Start your next Solidity project with Hardhat in seconds

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 87.8%Language:Solidity 6.4%Language:Shell 4.2%Language:JavaScript 1.7%