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.
- Pull basic foundry template.
$ forge init --template https://github.com/foundry-rs/forge-template eth-dex- Create, link and commit to repository
git commit
git remote add origin <REPO-URL>- Install openzeppelin dependecies
forge install OpenZeppelin/openzeppelin-contractsOr
forge install OpenZeppelin/openzeppelin-contracts --no-commit$ 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>forge script script/Dex.s.sol:DexScript --rpc-url buildbear --broadcast --slowTo verify the deployed contracts, execute the following command:
forge verify-contract --constructor-args "" --etherscan-api-key "verifyContract" --verifier-url "<https://rpc.buildbear.io/verify/etherscan/gradual-blade-6d2a5b2a>" <DEPLOYED_CONTRACT_ADDRESS> src/Dex.sol:Dex$ cast <subcommand>$ forge --help
$ anvil --help
$ cast --help