Quorum Besu Plugins extends the Hyperledger Besu functionality. It uses the Plugin API to retrieve data from any Besu network, public or permissioned and feed it into an application or system.
This API exposes data about the following components:
- Blocks
- Balances
- Transactions
- Smart contracts
- Execution results
- Logs
- Syncing state.
The current Besu recommended version is 20.10.0
We recommend using plugins with the last minor (i.e. 20.X) Besu version in production. That version will have undergone the most extensive testing with plugins. While patch releases of Besu should work with plugins, they are not put through the same QA cycle and are only tested by automatic tests. If you have a problem using plugins with a Besu patch release, please open an issue.
- Besu User Documentation
- Plugins User Documentation
- Plugins Issues
- Contribution guidelines
- Plugins Changelog
This plugin will listen to events occurring on the Ethereum network and will broadcast them to Kafka. Core broadcasting logic has been extracted to a common folder to facilitate the addition of support for other message brokers.
List of compatible message brokers:
List of events that can be sent by the plugin:
- Block Propagated
- Block Added
- Block Reorg
- Transaction Added
- Transaction Dropped
- Transaction Reverted
- Sync Status Changed
- Log Emitted
See our user documentation.
- Java 11
To allow Besu to access and use the plugin, copy the plugin (.jar) to the plugins directory.
git clone https://github.com/ConsenSys/besu-plugins.git
cd besu-plugins && ./gradlew distTar installDistThis produces:
- Fully packaged distribution in
build/distributions
You can find the jar of each plugin in build/libs of the module
To build, clone this repo and run with gradle:
git clone https://github.com/ConsenSys/besu-plugins.git
cd besu-plugins && ./gradlewAfter a successful build, distribution packages are available in build/distributions.
We use Google's Java coding conventions for the project. To reformat code, run:
./gradlew spotlessApplyCode style is checked automatically during a build.
All the unit tests are run as part of the build, but can be explicitly triggered with:
./gradlew test