Developers can use checkout, gradle
and make targets, make clean build run-config
,
./build/provenance config set streaming.abci.plugin abci_v1
and make run
to run a local Provenance development network with state listening enabled.
- Prerequisites
- Build a local distribution
- Stand up the Confluent Platform
- Start a local isolated Provenance node
- Viewing the Data
- Git
- Go
- comes with Make
- Docker
- Docker compose
- JDK 11+
Create a workspace:
mkdir $HOME/workspace && export WORKSPACE=$HOME/workspace && cd $WORKSPACE
Clone repo:
git clone https://github.com/provenance-io/provenance-abci-listener && cd provenance-abci-listener
Build distribution:
./gradlew assembleDist
Extract distribution:
cd build/distributions && unzip provenance-abci-listener-0-SNAPSHOT.zip
Export plugin for our node find:
export COSMOS_SDK_ABCI_V1=$WORKSPACE/provenance-abci-listener/build/distributions/provenance-abci-listener-0-SNAPSHOT/bin/provenance-abci-listener
If this is your first time standing up the Confluent Platform with docker-compose
then follow
the Quick Start for Confluent Platform.
cd $WORKSPACE
Download cp-all-in-one
docker compose yaml:
curl --silent --output docker-compose.yml \
https://raw.githubusercontent.com/confluentinc/cp-all-in-one/7.3.0-post/cp-all-in-one/docker-compose.yml
Start the Confluent Platform:
docker-compose up -d &> /dev/null
The quickest way to test the plugin with the Provenance blockchain is to start a local isolated node.
cd $WORKSPACE
Clone the repo:
git clone https://github.com/provenance-io/provenance && cd provenance
Initialize local node:
make clean build run-config
Enable streaming (updates build/run/config/app.toml
):
./build/provenanced config set streaming.abci.plugin abci_v1
Start local node:
make run
If all went well, you should see something like the below in the first few lines of the log output.
11:14AM INF streaming service registered plugin=abci_v1 service=abci
To view the data, navigate to Confluent Platform UI http://localhost:9021 and look for the topics below.
It takes the control-center
a minute or two to start up.
If it is not yet running, you can start it with docker-compose restart control-center
.
local-listen-begin-block
local-listen-end-block
local-listen-deliver-tx # will not exist until the first Tx is sent
local-listen-commit