/aggregate-service

Primary LanguageKotlinApache License 2.0Apache-2.0

Aggregate-Service


Latest Release Apache 2.0 License LOC


The purpose of this service is to retrieve block data over time from the Provenance Blockchain so that we can compute aggregated data at a reasonable rate to perform business decision queries.

The aggregator service makes use of the Event Stream Library to stream in ordered blocks and transform the block's data into the business data needs.

Local Setup

1. Database Setup

Run a postgres docker image:

$ docker run --name postgresdb -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password1 -e POSTGRES_DB=aggregate -d postgres

2. Running

The service can be run locally:

$ make run-local

To pass an arbitrary argument string to the service, run make run-local with a variable named ARGS:

$ make run-local ARGS="3017000"

To run the containerized service:

  • pull the image from to get the latest version:
$ docker pull figuretechnologies/aggregate-service:latest

3. Deployment

Github Actions

The aggregator CI/CD process uses Github Actions to build the docker container and deploy the image onto Docker Hub from where the docker container can be pulled from any deployment environment.