The purpose of this app is to provide a listening plugin for the Provenance Blockchain of realtime ABCI events and store those events in Kafka.
The plugin is not designed to be stood up as a standalone application. It is designed to be loaded by the plugin system built into the Cosmos SDK. Read ADR-038 State Streaming for details on the design.
The plugin is designed to stream Provenance blockchain ABCI events to Kafka and register the respective Protobuf message schema with the Confluent Schema Registry. For local testing follow the Quick Start guide.
For production environments, follow the Deploying Provenance ABCI Listener Plugin guide.
To test the plugin, run:
./gradlew test
To install the Kotlin linter, run:
brew install ktlint
In order to automatically lint/check for things that can't be autocorrected run:
ktlint -F "src/**/*.kt"
To build a distribution on your local environment, run:
./gradlew assembleDist