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.
besu/README.md

72 lines
3.4 KiB

# Besu Ethereum Client
[![CircleCI](https://circleci.com/gh/hyperledger/besu/tree/main.svg?style=svg)](https://circleci.com/gh/hyperledger/besu/tree/main)
[![Documentation Status](https://readthedocs.org/projects/hyperledger-besu/badge/?version=latest)](https://besu.hyperledger.org/en/latest/?badge=latest)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3174/badge)](https://bestpractices.coreinfrastructure.org/projects/3174)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/hyperledger/besu/blob/main/LICENSE)
[![Discord](https://img.shields.io/discord/905194001349627914?logo=Hyperledger&style=plastic)](https://discord.gg/hyperledger)
[Download](https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/)
Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in Java.
## Useful Links
* [Besu User Documentation]
* [Besu Issues]
* [Besu Wiki](https://wiki.hyperledger.org/display/BESU/Hyperledger+Besu)
* [How to Contribute to Besu](https://wiki.hyperledger.org/display/BESU/How+to+Contribute)
* [Besu Roadmap](https://wiki.hyperledger.org/display/BESU/Roadmap)
## Issues
Besu issues are tracked [in the github issues tab][Besu Issues].
See our [guidelines](https://wiki.hyperledger.org/display/BESU/Issues) for more details on searching and creating issues.
If you have any questions, queries or comments, [Besu channel on Hyperledger Discord] is the place to find us.
## Besu Users
Burn in candidate for 23.7.3 (#5906) burn-in candidate for 23.7.3 from main sha 6dc10a9..eef40bd https://github.com/hyperledger/besu/compare/6dc10a9..eef40bd --- * Drop Kotti Network support (ETC) (#5816) Signed-off-by: Diego López León <dieguitoll@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * fix ForkId if there are no Forks and the starting timestamp is not 0 (#5819) Signed-off-by: Stefan <stefan.pingel@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * enforce that BlobTransactions have at least one blob (#5826) * enforce that BlobTransactions have at least one blob Signed-off-by: Stefan <stefan.pingel@consensys.net> Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Do not create ignorable segments on `revert storage-variables` (#5830) * fix the bug that creates the ignorable chain pruner segment, add rocks exception parsing to RocksDBColumnarKeyValueStorage subclasses * parse rocksdb error for unprintable column family id's Signed-off-by: garyschulte <garyschulte@gmail.com> * add versioned hashes and number of blobs to toString() (#5831) Signed-off-by: Stefan <stefan.pingel@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * add parent beacon block root to payload id calculation (#5843) Signed-off-by: Stefan <stefan.pingel@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * bump version to 23.7.3-SNAPSHOT (#5854) Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * set the beacon root address to the correct value (#5853) Signed-off-by: Stefan <stefan.pingel@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * docs(readme): fix broken link to installation of binaries page (#5859) Fixes #5858 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Update RocksDB version from 8.0.0 to 8.3.2 (#5832) Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * use non-deprecated authenticate methods (#5852) Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * move to Hyperledger shared runners for current github actions (#5860) Signed-off-by: garyschulte <garyschulte@gmail.com> * Add range tracing with worldstate (#5844) Implement a method to trace a range of blocks and have access to the worldstate before and after the tracing Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Layered txpool by default and txpool options hoverhaul (#5772) Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * Fix issue 5824 - Duplicate key errors in EthScheduler-Transactions (#5857) Fix issue 5824 - Duplicate key errors in EthScheduler-Transactions Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * updated gradle verification metadata (#5870) * removed old artefacts [skip ci] * works with compileTestJava * restored metadata needed for codeQL and trusted-artifacts block for javadoc/sources Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> --------- Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * [4844] Add encodingContext to TransactionEncoder and TransactionDecoder (#5820) * Add decode type to TransactionDecoder * Refactoring TransactionDecoder * Invert methods order * Use Transaction encoder instead of writeTo * Move enter and leave list to inner method as pr suggestion * Size calculation should use opaque bytes instead of rlp --------- Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * #5868: fix beacon root address and modulus for devnet 9 (#5871) Signed-off-by: Stefan <stefan.pingel@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * payload attributes: fix wrong warning and fail if beacon root is available before cancun (#5872) Signed-off-by: Stefan <stefan.pingel@consensys.net> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Merge MutableAccount and EVMAccount (#5863) Merge MutableAccount and EVMAccount functionalities by removing EVMAccount, all calls to getMutable, and the WrappedEVMAccount that was wrapping non-EVMAccounts in a mutable fashion. Instead, use a MutableAccount in all cases an EVMAccount would have been used. This also tends to reduce a level of layering in many places. Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Add world context to transaction tracing API (#5836) * Add world context to transaction tracing API Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu> * Update changelog with PR ID Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu> * Add the Transaction to traceEndTransaction Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu> * Rebase on main Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu> * Add receipt-linked information to the transaction tracer Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu> * added test Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net> --------- Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu> Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net> Co-authored-by: Daniel Lehrner <daniel.lehrner@consensys.net> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Bonsai based reference test worldstate (#5686) * create a bonsai based reference test worldstate -> getOrCreate in BonsaiWorldStateUpdateAccumulator - do not throw if we discover an empty account in a non-null BonsaiValue<Account> -> add curentStateRoot to t8n -> storageEntriesFrom and streamAccounts implemented in BonsaiWorldStateKeyValueStorage -> add endKey version of streamFromKey * bonsai fix for self-destruct and create2 at the same address and same block Signed-off-by: garyschulte <garyschulte@gmail.com> Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Co-authored-by: Karim TAAM <karim.t2am@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Don't start BFT mining coordinators until initial sync has completed (#5861) * Don't start BFT mining coordinators until initial sync has completed Signed-off-by: Matthew Whitehead <matthew1001@gmail.com> * Fix unit tests Signed-off-by: Matthew Whitehead <matthew1001@gmail.com> * Fix 'enable' logic Signed-off-by: Matthew Whitehead <matthew1001@gmail.com> --------- Signed-off-by: Matthew Whitehead <matthew1001@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * display only peers ready for requets on ethstats (#5880) * display only ready for requets peers in ethstats Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * cast to int Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> --------- Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com> Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * [MINOR] test RLP used for encode/decode blob tx should contain to field (#5883) * validate to field on encode/decode for blob tx Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> * revert decode/encode checks - tis done later in tx validation Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> --------- Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Fix: correctly convert percentage options in TOML configuration file (#5886) Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * EIP7516 - Add BlobBaseFee opcode to Cancun EVM (#5884) Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * Fix snapsync heal (#5838) Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Upgrade besu-native (#5893) Upgrade besu-native to 0.8.2 Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Tune G1GC to reduce Besu memory footprint (#5879) Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * Add updated storage to evmtool json trace (#5892) Add the EIP-3155 "storage" option to the standard tracer, with the caveat only updated storage is logged. Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * Update holesky with fixed extraData, genesis time, shanghaiTime (#5890) Signed-off-by: Simon Dudley <simon.dudley@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> * [CHANGELOG] removed duplicated line (#5904) * removed duplicated line [skip ci] Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> * fixed spelling on Holesky Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> --------- Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> * add 23.7.2 release SHAs and bump to 23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-23.7.3-RC version Signed-off-by: garyschulte <garyschulte@gmail.com> --------- Signed-off-by: Diego López León <dieguitoll@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> Signed-off-by: Stefan <stefan.pingel@consensys.net> Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com> Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com> Signed-off-by: Franklin Delehelle <franklin.delehelle@odena.eu> Signed-off-by: Matthew Whitehead <matthew1001@gmail.com> Signed-off-by: Simon Dudley <simon.dudley@consensys.net> Co-authored-by: Diego López León <dieguitoll@gmail.com> Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com> Co-authored-by: Daniel Lehrner <daniel.lehrner@consensys.net> Co-authored-by: Peter Somogyvari <petermetz@users.noreply.github.com> Co-authored-by: ahamlat <ameziane.hamlat@consensys.net> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com> Co-authored-by: matkt <karim.t2am@gmail.com> Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net> Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com> Co-authored-by: delehef <franklin.delehelle@odena.eu> Co-authored-by: Matt Whitehead <matthew1001@gmail.com> Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
1 year ago
To install the Besu binary, follow [these instructions](https://besu.hyperledger.org/public-networks/get-started/install/binary-distribution).
## Besu Developers
* [Contributing Guidelines]
* [Coding Conventions](https://wiki.hyperledger.org/display/BESU/Coding+Conventions)
* [Command Line Interface (CLI) Style Guide](https://wiki.hyperledger.org/display/BESU/Besu+CLI+Style+Guide)
* [Besu User Documentation] for running and using Besu
### Development
Instructions for how to get started with developing on the Besu codebase. Please also read the
[wiki](https://wiki.hyperledger.org/display/BESU/Pull+Requests) for more details on how to submit a pull request (PR).
* [Checking Out and Building](https://wiki.hyperledger.org/display/BESU/Building+from+source)
* [Running Developer Builds](https://wiki.hyperledger.org/display/BESU/Building+from+source#running-developer-builds)
* [Code Coverage](https://wiki.hyperledger.org/display/BESU/Code+coverage)
* [Logging](https://wiki.hyperledger.org/display/BESU/Logging) or the [Documentation's Logging section](https://besu.hyperledger.org/en/stable/HowTo/Monitor/Logging/)
## Release Notes
[Release Notes](CHANGELOG.md)
## Special thanks
YourKit for providing us with a free profiler open source license.
YourKit supports open source projects with innovative and intelligent tools
for monitoring and profiling Java and .NET applications.
YourKit is the creator of <a href="https://www.yourkit.com/java/profiler/">YourKit Java Profiler</a>,
<a href="https://www.yourkit.com/.net/profiler/">YourKit .NET Profiler</a>,
and <a href="https://www.yourkit.com/youmonitor/">YourKit YouMonitor</a>.
![YourKit Logo](https://www.yourkit.com/images/yklogo.png)
[Besu Issues]: https://github.com/hyperledger/besu/issues
[Besu User Documentation]: https://besu.hyperledger.org
[Besu channel on Hyperledger Discord]: https://discord.gg/hyperledger
[Contributing Guidelines]: CONTRIBUTING.md