Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Consensys/PluginsAPIDemo
Demo plugin for the Besu Plugins API
https://github.com/Consensys/PluginsAPIDemo
besu ethereum hyperledger java plugins-api
Last synced: 5 days ago
JSON representation
Demo plugin for the Besu Plugins API
- Host: GitHub
- URL: https://github.com/Consensys/PluginsAPIDemo
- Owner: Consensys
- License: apache-2.0
- Archived: true
- Created: 2020-01-23T04:22:41.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-08T23:16:03.000Z (about 3 years ago)
- Last Synced: 2024-11-02T16:06:03.401Z (16 days ago)
- Topics: besu, ethereum, hyperledger, java, plugins-api
- Language: Java
- Size: 61.5 KB
- Stars: 5
- Watchers: 28
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-besu - Plugins API Demo - Example of a plugin that uses Besu's plugin API. (Plugins)
README
# Besu Plugins API Demo Plugin
## Purpose of the Demo Plugin
Expose finer grain details about the gas usage in blocks via Prometheus### Services Used
- **PicoCLIOptions**
* To add configuration options to change the name of the metrics
- **MetricCategoryRegistry** and **MetricsSystem**
* To add the metrics to the metrics endpoint
- **BesuEvents**
* To listen to propagated blocks and capture relevant data### Plugin Lifecycle
- **Register**
* Add the configuration options and metrics category
- **Start**
* Connect to the Besu events
- **Stop**
* Disconnect from the Besu events## To Execute the Demo
Build the plugin jar
```
./gradlew build
```Install the plugin into `$BESU_HOME`
```
mkdir $BESU_HOME/plugins
cp build/libs/*.jar $BESU_HOME/plugins
```Run the Besu node w/o customized metric names
```
$BESU_HOME/bin/besu --config-file=demo-options.toml
```Then go to http://localhost:9545/metrics to see the metrics
To change the names of the metrics use the plugin CLI options
```
$BESU_HOME/bin/besu --config-file=demo-options.toml \
--plugin-gas-spending-metrics-name=a_name
--plugin-gas-spending-metrics-prefix=a_prefix_
````