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.
curl -L https://foundry.paradigm.xyz | bash$ 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$ forge install OpenZeppelin/openzeppelin-contracts-upgradeable --no-commit$ forge install OpenZeppelin/openzeppelin-contracts --no-commitThe --no-commit flag prevents the following error:
Error:
The target directory is a part of or on its own an already initialized git repository,
and it requires clean working and staging areas, including no untracked files.
Check the current git repository's status with `git status`.
Then, you can track files with `git add ...` and then commit them with `git commit`,
ignore them in the `.gitignore` file, or run this command again with the `--no-commit` flag.
If none of the previous steps worked, please open an issue at:
https://github.com/foundry-rs/foundry/issues/new/choose@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/"solidity.formatter": "prettier",
"workbench.sideBar.location": "right",
# "solidity.compileUsingRemoteVersion": "v0.8.20+commit.a1b79de6",
"[solidity]": {
"editor.defaultFormatter": "JuanBlanco.solidity",
"editor.formatOnSave": true
}0xdAfAE67401db66dbe591d2A400e987416133Df6F$ forge script script/DeployNFTMarketplace.s.sol:DeployNFTMarketplace --rpc-url sepolia --broadcast