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.
https://book.getfoundry.sh/getting-started/installation
To install dependencies used in this repo: make install
To build: make build
forge test -vvv --match-path test/Xyz.t.sol
cast wallet import wallet1 --interactive
ls ~/.foundry/keystores
cast wallet list
DEST=0x123abc
cast send --account wallet1 --rpc-url ${ETHERE_SEPOLIA_RPC} DEST "set(uint256)" "777"
Query smart contract
cast call --rpc-url ${ETHERE_SEPOLIA_RPC} DEST "val()(uint256)"
$ forge build
$ forge test
$ forge fmt
$ forge snapshot
$ anvil
$ forge script script/Counter.s.sol:CounterScript --rpc-url <your_rpc_url> --private-key <your_private_key>
$ cast <subcommand>
$ forge --help
$ anvil --help
$ cast --help