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.
Assuming basic dependency such as git and yarn already installed.
- Clone the repository
git clone https://github.com/HugoByte/aurras-event-feed-substrate-js.git
- Navigate to the cloned directory
cd aurras-event-feed-substrate-js
- Install dependencies
yarn install
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
Start the feed in development mode.
yarn serve
Run Unit test suites
yarn test
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.
Licensed under Apache-2.0