Skip to content

Releases: cyberway/cyberway.notifier

v2.1.0

03 May 05:08
249ce6e
Compare
Choose a tag to compare

Notifier v2.1.0 Release Notes

Blockchain development team announces the Notifier v2.1.0 version release. This version includes the new feature that provides replaying the notify-nodes using snapshots.

Terminology used

Notifier utility — an event-engine component that receives messages on events from smart contracts and transmits them to the NATS message broker.

NATS message broker — an event-engine component that is an open source messaging system.This service ensures that received information on events is stored on a hard drive with ability to access this information.

Problem description

All events occurring in smart contracts are naturally sent to NATS utility. In case of a replay it was impossible to restore all the nodes using the snapshots. In this case the duplicated events appeared in NATS, which caused confusion in the order of I / O data. This led to the errors in the event history.

It took about 4 days to replay a node if an error occurred in NATS. The notifier node recovery was impossible using snapshots, as in that case the NATS event history was distorted. There was a need to implement a feature that would provide replay of the nodes using snapshots.

Solution (#49, #50)

The new feature has been implemented into the cyberway.notifier component. The meaning of improvement is as follows.

A data filtering mode was added for the blocks that are already committed and successfully sent to NATS. When starting up, Notifier requests NATS about the last messages sent and finds the information about the last irreversible block automatically (CommitBlock event). Using this information, it filters messages and continues to send events to NATS from the moment when a break was made.

This mode allows to :

  • save the events history correctly;
  • recover Notifier node using snapshots.

v2.0.0

14 Aug 12:59
Compare
Choose a tag to compare

CyberWay Notifier v2.0.0 Release Notes

Golos•Core team presents v2.0.0 CyberWay Notifier. This is a component of CyberWay Event Model and it looks like a messenger utility which passes the messages from the Event Engine to NATS. Notifier provides high reliability of the data transfer.

All event messages are represented in binary form. The smart contracts contain an ABI-description of each event transmitted in order for the Event Engine plug-in to deserialize such arguments and give the event a structured look. Using the ABI-description given in the event, the Event Engine plug-in converts the binary view of the received event into a structure form.

The event messages generated by the plug-in are recorded either in the file descriptor or transmitted to the pipeline depending on the settings.

Notifier opens the pipeline line, receives the event and sends it to the NATS. Then the node transmits to the line all the information about the event.

The Notifier provides the following features:

  • receives events from the Event Engine in the form of JSON messages indicating an arbitrary NATS channel to which the message should be sent.
  • sends messages in one of the synchronous or asynchronous modes.
  • saves the queue of unsent messages to the backup file when collecting the utility, and also restores them after a restart.
  • processes signals of the form SIGINT and SIGTERM.
  • handles interruptions like "connection with NATS" and "send timed out".
  • provides installation of NATS options using command line arguments.

v2.0.0-rc2: Merge pull request #38 from GolosChain/alfa

13 Aug 11:18
f7d9b59
Compare
Choose a tag to compare
Prepare commit for PR3