Skip to content

Repository files navigation

Foundry

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

Foundry consists of:

  • Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
  • Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
  • Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
  • Chisel: Fast, utilitarian, and verbose solidity REPL.

Documentation

https://book.getfoundry.sh/

Usage

Build

$ forge build

Test

$ forge test

Format

$ forge fmt

Gas Snapshots

$ forge snapshot

Anvil

$ anvil

Deploy

$ forge script script/Deploy.s.sol --rpc-url <your_rpc_url> --broadcast

With verification:

$ forge script script/Deploy.s.sol --rpc-url <your_rpc_url> --broadcast --verify

Environment variables:

PRIVATE_KEY=...                 # deployer key
OWNER_ADDRESS=0x...             # optional override owner
TOKEN_ADDRESS=0x...             # optional override token
CELO_MULTISIG=0x...             # mainnet owner
BASE_MULTISIG=0x...             # mainnet owner
CELOSCAN_KEY=...                # Celo explorer API key
BASESCAN_KEY=...                # Base explorer API key

Deployment outputs:

deployments/<chainId>.json

Cast

$ cast <subcommand>

Help

$ forge --help
$ anvil --help
$ cast --help

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages