Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 2.38 KB

README.md

File metadata and controls

67 lines (52 loc) · 2.38 KB

Sol-starter

Template to bootstrap solidity project

Features

  • Foundry for unit testing
  • Hardhat for JS integration tests & deployment
  • hardhat-sol-bundler for declarative deployments and upgrades
  • linters, code formatter, pre-commit and pre-push hooks
  • Makefile & Docker dev container for convenient and safe development
  • Custom github action and quality gate workflow for flexible CI strategy implementation

Requirements

  • Git
    • You'll know you've done it right if you can run git --version
  • Foundry / Foundryup
    • This will install forge, cast, and anvil
    • You can test you've installed them right by running forge --version and get an output like: forge 0.2.0 (f016135 2022-07-04T00:15:02.930499Z)
    • To get the latest of each, just run foundryup
  • Node.js
  • Optional. Docker
    • You'll need to run docker if you want to use dev container and safely play with smartcontracts & scripts

note: For windows os you'll need to install make. For instance via choco: sh choco install make

Installation

make

Configuration

  • All commands/aliases are declared in the Makefile.
  • use forge as solidity formatter in your IDE settings
{
  "solidity.formatter": "forge",
  "solidity.packageDefaultDependenciesContractsDirectory": "src",
  "solidity.packageDefaultDependenciesDirectory": ["node_modules", "lib"],
  "solidity.remappings": [
    "@std=lib/forge-std/src/",
    "forge-std/=lib/forge-std/src/",
    "@openzeppelin/=node_modules/@openzeppelin/",
    "src=src/"
  ],
  "solidity.defaultCompiler": "localNodeModule",
  "[solidity]": {
    "editor.defaultFormatter": "JuanBlanco.solidity"
  }
}

Contributing

Contributions are always welcome! Open a PR or an issue!

Resources