Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in Java.
Besu issues are tracked in the github issues tab. See our guidelines for more details on searching and creating issues.
If you have any questions, queries or comments, Besu channel on Discord is the place to find us.
To install the Besu binary, follow these instructions.
- Contributing Guidelines
- Coding Conventions
- Command Line Interface (CLI) Style Guide
- Besu User Documentation for running and using Besu
Instructions for how to get started with developing on the Besu codebase. Please also read the wiki for more details on how to submit a pull request (PR).
Besu supports performance profiling using Async Profiler, a low-overhead sampling profiler.
You can find setup and usage instructions in the Profiling Guide.
Profiling can help identify performance bottlenecks in block processing, transaction validation, and EVM execution.
Please ensure the profiler is run as the same user that started the Besu process.
Besu includes support for running Ethereum reference tests and generating detailed EVM execution traces.
To learn how to run the tests and enable opcode-level JSON tracing for debugging and correctness verification, see the Reference Test Execution and Tracing Guide.