BesuFuzz is where all the besu guided fuzzing tools live.
Performs differential fuzzing between Ethereum clients based on
the txparse eofparse
format. Note that only the inital OK
and err
values are used to determine if
there is a difference.
BesuFuzz eof-container \
--tests-dir=~/git/ethereum/tests/EOFTests \
--client=evm1=evmone-eofparse \
--client=revm=revme bytecode
./gradlew fuzzEvmone fuzzReth
There are pre-written Gradle targets for fuzzEthereumJS
, fuzzEvmone
,
fuzzGeth
, fuzzNethermind
, and fuzzReth
. Besu is always a fuzzing target.
The fuzzAll
target will fuzz all clients.