Skip to content
/ contracts-starter Public template

A robust smart contract development template for Ethereum and EVM chains

Notifications You must be signed in to change notification settings

yosriady/contracts-starter

Repository files navigation

Hardhat Boilerplate

Setup

$ yarn install
$ yarn prepare

Create a .env following the .env.example:

INFURA_API_KEY=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
MNEMONIC=here is where your twelve words mnemonic should be put my friend

Compile

Compile the smart contracts with Hardhat:

$ yarn compile

TypeChain

Compile the smart contracts and generate TypeChain artifacts:

$ yarn typechain

Lint Solidity

Lint the Solidity code:

$ yarn lint:sol

Lint TypeScript

Lint the TypeScript code:

$ yarn lint:ts

Format files

$ yarn prettier

Test

Run unit tests:

$ yarn test

Run a single test:

$ yarn test test/MyContract.test.ts

Coverage

Generate a test coverage report:

$ yarn coverage

Deploy and Verify

$ yarn deploy:kovan
$ yarn verify:kovan

Clean

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

$ yarn clean

Tooling

  • Hardhat: compile and run the smart contracts on a local development network
  • TypeChain: generate TypeScript types for smart contracts
  • Ethers: renowned Ethereum library and wallet implementation
  • Waffle: tooling for writing comprehensive smart contract tests
  • Solhint: linter
  • Solcover code coverage
  • Prettier Plugin Solidity: code formatter

About

A robust smart contract development template for Ethereum and EVM chains

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published