Skip to content

A solidity smart contract project template using hardhat & typescript

License

Notifications You must be signed in to change notification settings

danielNg25/hardhat-ethersv5-template-

Repository files navigation

Solidity Template with Hardhat using EthersV5 Hardhat [License: MIT]

⚠️ This template uses Ethers V5 and no longer be focused on update since hardhat supported EthersV6. See EthersV6 template

A Hardhat-based template for developing smart contract in Solidity

Getting Started

Click the Use this template button at the top of the page to create a new repository with this repo as the initial state.

Features

This template builds upon the frameworks and libraries mentioned above, so for details about their specific features, please consult their respective documentations.

Sensible Defaults

This template comes with sensible default configurations in the following files:

├── .commitlintrc.yml
├── .editorconfig
├── .eslintignore
├── .eslintrc.yml
├── .gitignore
├── .prettierignore
├── .prettierrc.yml
├── .solcover.js
├── .solhintignore
├── .solhint.json
├── .yarnrc.yml
└── hardhat.config.ts

Usage

Pre Requisites

Before being able to run any command, you need to create a .env file and set a BIP-39 compatible mnemonic as an environment variable. You can follow the example in .env.example. If you don't already have a mnemonic, you can use this website to generate one.

Then, proceed with installing dependencies:

$ yarn install

Compile

Compile the smart contracts with Hardhat:

$ yarn compile

TypeChain

Compile the smart contracts and generate TypeChain bindings:

$ yarn typechain

Test

Run the tests with Hardhat:

$ yarn test

Lint Solidity

Lint the Solidity code:

$ yarn lint:sol

Lint TypeScript

Lint the TypeScript code:

$ yarn lint:ts

Coverage

Generate the code coverage report:

$ yarn coverage

Report Gas

See the gas usage per unit test and average gas per method call:

$ REPORT_GAS=true yarn test

Clean

Delete the smart contract artifacts, the coverage reports and the Hardhat cache:

$ yarn clean

Deploy

Deploy the contracts to Hardhat Network:

$ yarn deploy --greeting "Bonjour, le monde!"

Fix husky not executable

chmod ug+x .husky/*
chmod ug+x .git/hooks/*

License

MIT © Nguyễn Đình Trường

About

A solidity smart contract project template using hardhat & typescript

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published