Build, test, fuzz, debug and deploy Solidity contracts
$ forge --help
Usage: forge [OPTIONS] <COMMAND>
Commands:
bind Generate Rust bindings for smart contracts
bind-json Generate bindings for serialization/deserialization of
project structs via JSON cheatcodes
build Build the project's smart contracts [aliases: b, compile]
cache Manage the Foundry cache
clean Remove the build artifacts and cache directories [aliases:
cl]
clone Clone a contract from Etherscan
compiler Compiler utilities
completions Generate shell completions script [aliases: com]
config Display the current config [aliases: co]
coverage Generate coverage reports
create Deploy a smart contract [aliases: c]
debug Debugs a single smart contract as a script [aliases: d]
doc Generate documentation for the project
eip712 Generate EIP-712 struct encodings for structs from a given
file
flatten Flatten a source file and all of its imports into one file
[aliases: f]
fmt Format Solidity source files
geiger Detects usage of unsafe cheat codes in a project and its
dependencies
generate Generate scaffold files
generate-fig-spec Generate Fig autocompletion spec [aliases: fig]
help Print this message or the help of the given subcommand(s)
init Create a new Forge project
inspect Get specialized information about a smart contract
[aliases: in]
install Install one or multiple dependencies [aliases: i]
remappings Get the automatically inferred remappings for the project
[aliases: re]
remove Remove one or multiple dependencies [aliases: rm]
script Run a smart contract as a script, building transactions
that can be sent onchain
selectors Function selector utilities [aliases: se]
snapshot Create a gas snapshot of each test's gas usage [aliases: s]
soldeer Soldeer dependency manager
test Run the project's tests [aliases: t]
tree Display a tree visualization of the project's dependency
graph [aliases: tr]
update Update one or multiple dependencies [aliases: u]
verify-bytecode Verify the deployed bytecode against its source on
Etherscan [aliases: vb]
verify-check Check verification status on Etherscan [aliases: vc]
verify-contract Verify smart contracts on Etherscan [aliases: v]
Options:
-h, --help
Print help (see a summary with '-h')
-j, --threads <THREADS>
Number of threads to use. Specifying 0 defaults to the number of
logical cores
[aliases: jobs]
-V, --version
Print version
Display options:
--color <COLOR>
The color of the log messages
Possible values:
- auto: Intelligently guess whether to use color output (default)
- always: Force color output
- never: Force disable color output
--json
Format log messages as JSON
-q, --quiet
Do not print log messages
-v, --verbosity...
Verbosity level of the log messages.
Pass multiple times to increase the verbosity (e.g. -v, -vv, -vvv).
Depending on the context the verbosity levels have different meanings.
For example, the verbosity levels of the EVM are:
- 2 (-vv): Print logs for all tests.
- 3 (-vvv): Print execution traces for failing tests.
- 4 (-vvvv): Print execution traces for all tests, and setup traces
for failing tests.
- 5 (-vvvvv): Print execution and setup traces for all tests,
including storage changes.
Find more information in the book:
http://book.getfoundry.sh/reference/forge/forge.html