ra-phael / solidity-template

Combines Hardhat, TypeChain, Ethers, Waffle, Solhint, Solcover and Prettier

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Solidity Template

My favorite setup for writing Solidity smart contracts.

This repo is a GitHub template, so to start using it, click the "Use this template" button at the top of the page.

Usage

Pre Requisites

Before running any command, you need to create a .env file and set a BIP-39 compatible mnemonic as an environment variable. Follow the example in .env.example. If you don't already have a mnemonic, 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 artifacts:

$ yarn typechain

Lint Solidity

Lint the Solidity code:

$ yarn lint:sol

Lint TypeScript

Lint the TypeScript code:

$ yarn lint:ts

Test

Run the Mocha tests:

$ yarn test

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!"

Syntax Highlighting

If you use VSCode, you can get Solidity syntax highlighting via the vscode-solidity extension.

License

Unlicense

About

Combines Hardhat, TypeChain, Ethers, Waffle, Solhint, Solcover and Prettier

License:The Unlicense


Languages

Language:TypeScript 82.2%Language:Solidity 8.2%Language:Shell 7.4%Language:JavaScript 2.2%