mirror of https://github.com/hyperledger/besu
An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
807 B
29 lines
807 B
# BesuFuzz
|
|
|
|
BesuFuzz is where all the besu guided fuzzing tools live.
|
|
|
|
## eof-container
|
|
|
|
Performs differential fuzzing between Ethereum clients based on
|
|
the [txparse eofparse](https://github.com/holiman/txparse/blob/main/README.md#eof-parser-eofparse)
|
|
format. Note that only the inital `OK` and `err` values are used to determine if
|
|
there is a difference.
|
|
|
|
### Prototypical CLI Usage:
|
|
|
|
```shell
|
|
BesuFuzz eof-container \
|
|
--tests-dir=~/git/ethereum/tests/EOFTests \
|
|
--client=evm1=evmone-eofparse \
|
|
--client=revm=revme bytecode
|
|
```
|
|
|
|
### Prototypical Gradle usage:
|
|
|
|
```shell
|
|
./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. |