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.
$ forge build$ forge test$ forge fmt$ forge snapshot$ anvil$ forge script script/Deploy.s.sol --rpc-url <your_rpc_url> --broadcastWith verification:
$ forge script script/Deploy.s.sol --rpc-url <your_rpc_url> --broadcast --verifyEnvironment 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 keyDeployment outputs:
deployments/<chainId>.json
$ cast <subcommand>$ forge --help
$ anvil --help
$ cast --help