Skip to content

obatirou/forge-template

Repository files navigation

Forge Template

Template repository for getting started quickly with Foundry projects

Custom template

With a lot of inspiration from https://github.com/smartcontractkit/foundry-starter-kit

You need to have yarn installed to use this template.
This template includes:

  • Yarn as package manager
  • Husky for git hooks
  • Makefile
  • .env for secrets
  • custom .gitignore
  • set solc version in foundry.toml
  • set evm_version in foundry.toml
  • to support PUSH0 evm_version must be set explicitly to shanghai (or higher)

Getting Started

Click "Use this template" on GitHub to create a new repository with this repo as the initial state.

Or, if your repo already exists, run:

forge init
forge build
forge test

Writing your first test

All you need is to import forge-std/Test.sol and then inherit it from your test contract. Forge-std's Test contract comes with a pre-instatiated cheatcodes environment, the vm. It also has support for ds-test-style logs and assertions. Finally, it supports Hardhat's console.log. The logging functionalities require -vvvv.

pragma solidity 0.8.18;

import "forge-std/Test.sol";

contract ContractTest is Test {
    function testExample() public {
        vm.roll(100);
        console.log(1);
        emit log("hi");
        assertTrue(true);
    }
}

Development

This project uses Foundry. See the book for instructions on how to install and use Foundry.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from foundry-rs/forge-template