Skip to content

Template for Solidity smart contracts with Forge and Hardhat

License

Notifications You must be signed in to change notification settings

0xhiroshi/solidity-template

 
 

Repository files navigation

Solidity template

This is a template for GitHub repos with Solidity smart contracts using Forge and Hardhat. This template is used by the LooksRare team for Solidity-based repos. Feel free to use or get inspired to build your own templates!

About this repo

Structure

It is a hybrid Hardhat repo that also requires Foundry to run Solidity tests powered by the ds-test library.

To install Foundry, please follow the instructions here.

Run tests

  • TypeScript tests are included in the typescript folder in the test folder at the root of the repo.
  • Solidity tests are included in the foundry folder in the test folder at the root of the repo.

Example of Foundry/Forge commands

forge build
forge test
forge test -vv
forge tree

Example of Hardhat commands

npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
npx hardhat run scripts/deploy.ts
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint '**/*.{js,ts}'
npx eslint '**/*.{js,ts}' --fix
npx prettier '**/*.{json,sol,md}' --check
npx prettier '**/*.{json,sol,md}' --write
npx solhint 'contracts/**/*.sol'
npx solhint 'contracts/**/*.sol' --fix

About

Template for Solidity smart contracts with Forge and Hardhat

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 70.6%
  • TypeScript 24.5%
  • JavaScript 2.7%
  • Shell 2.2%