Lisk-sdk: Create forger plugin

Created on 29 Apr 2020  路  1Comment  路  Source: LiskHQ/lisk-sdk

Description

Create a forging helper plugin that provides and notifies forgers with more detailed information.

Motivation

The HTTP API currently have private endpoints to enable/disable delegates, but those should be separated from the HTTP API and expanded to be more useful.

Tasks

Sprint 23

  • Create package for the forging helper plugin and setup default configs #5284
  • Add event listers to keep track of registered forger information #5285
  • Add synchronization mechanism with framework #5286
  • Create GET /api/forging/info endpoint #5287
  • Create PATCH /api/forging endpoint #5288
  • Create GET /api/voters #5289
  • Send notification on missedBlock, createdBlock and node start and node stop #5290
  • Expose decodeBlock from base plugin #5541
  • Save forgers missed block information #5552
  • Cleanup round calculation in forger plugin #5559
  • Move /api/forgers to HTTP API plugin #5576
  • Add an action to calculate next forging time for delegates #5570

Sprint 24

  • Wrong calculation for votesReceived forging info #5574

Additional Information

  • It should sync with the running framework blockchain information
  • The config should allow one webhook URL, and event to fire. If empty, emit all
  • The port should be configurable
  • It should allow whitelisting IPs, by default, localhost only
  • Add flag to core and register this plugin
--plugin-forger-port (LISK_PLUGIN_FORGER_PORT)
  plugin must be enabled
  Specify open port for the forger plugin
improvement framework epic framework-pluginforging

Most helpful comment

It would be nice to add a heartbeat endpoint, that can be called to ensure the node is healthy. Criteria are TBD but here are some ideas :

  • contact with at least X node outside of the cluster recently
  • database is reachable (even with embedded db, in the cloud the disk can be disconnected upon network error)
  • TTFB < 200ms (the node is surviving a DDoS attack)

>All comments

It would be nice to add a heartbeat endpoint, that can be called to ensure the node is healthy. Criteria are TBD but here are some ideas :

  • contact with at least X node outside of the cluster recently
  • database is reachable (even with embedded db, in the cloud the disk can be disconnected upon network error)
  • TTFB < 200ms (the node is surviving a DDoS attack)
Was this page helpful?
0 / 5 - 0 ratings

Related issues

willclarktech picture willclarktech  路  4Comments

toschdev picture toschdev  路  3Comments

ManuGowda picture ManuGowda  路  3Comments

ScrewchMcMuffin picture ScrewchMcMuffin  路  3Comments

Tschakki picture Tschakki  路  4Comments