mirror of
https://github.com/vacp2p/linea-besu.git
synced 2026-01-09 21:17:54 -05:00
* Performance improvements to fuzzing Turning off guidance speeds the rate of testing up by 10%. Also, add other options to store new guided-discovered tests. Signed-off-by: Danno Ferrin <danno@numisight.com> * bring in the whole javafuzz lib so we can tweak it. Signed-off-by: Danno Ferrin <danno@numisight.com> --------- Signed-off-by: Danno Ferrin <danno@numisight.com> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
BesuFuzz
BesuFuzz is where all the besu guided fuzzing tools live.
eof-container
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.
Prototypical CLI Usage:
BesuFuzz eof-container \
--tests-dir=~/git/ethereum/tests/EOFTests \
--client=evm1=evmone-eofparse \
--client=revm=revme bytecode
Prototypical Gradle usage:
./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.