Skip to content

A JS implementation of Event Feed for Aurras System to source events from Substrate Based chains

License

Notifications You must be signed in to change notification settings

HugoByte/aurras-event-feed-substrate-js

Repository files navigation

Event Feed - Substrate

License

Introduction

Aurras is a middleware that acts as an event processor and a low code workflow orchestration platform. Aurras is being pitched as a next-generation system for enabling decentralized push notification. This middleware solution listens to events from blockchain applications and propagates them to a registered pool of MQTT brokers. The broader architecture consists of parachain from which the middleware listens for the events.

This Event Feed package facilitates to source events from substrate-based chains. The events will be posted to the OpenWhisk system. polkadot-js/api is used under the hood to establish the connection to blockchain nodes and receive events.

Prerequisites

  1. Substrate Based Chain
  2. Openwhisk

Installation

Assuming basic dependency such as git and yarn already installed.

  1. Clone the repository
git clone https://github.com/HugoByte/aurras-event-feed-substrate-js.git
  1. Navigate to the cloned directory
cd aurras-event-feed-substrate-js
  1. Install dependencies
yarn install

Configuration

Configurations are passed through environment variables which can be found here.

For local development and testing create a .env file with respective configurations in the project root folder.

CHAIN_NAME=Node Template
CHAIN_ENDPOINT=ws://localhost:9944
LOGGERS=console,info;file,error,./logs/event-feed.log
EXCLUDES=system;balances=Deposit,Endowed,DustLost;
TYPES_FILE=/config/types.json
KAFKA_BROKERS=172.17.0.1:9092
TOPICS=balances=c76b7a5d-d18a-43e6-a28f-db6bb7520986
OPENWHISK_API_KEY=23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP
OPENWHISK_API_HOST=https://localhost:31001
OPENWHISK_NAMESPACE=guest
EVENT_RECEIVER=event-receiver
EVENT_PROCESSOR=substrate-event-processor

Usage

Start the feed in development mode.

yarn serve

Testing

Run Unit test suites

yarn test

Deployment

For local development you may use docker-compose configuration provided in devcontainer, This requires .env file created in root folder with urls resolving to host machine to access chain, openwhisk from the container. And custom chain type to be created in devcontainer/config

Deployment is done through either docker-compose or Kubernetes which can be found here.

License

Licensed under Apache-2.0