Energy Web Documentation
  • Energy Web Ecosystem
  • Launchpad by Energy Web
  • EWC Validator Documentation
  • Community Ressources
  • Legacy documentation
  • Start here
    • EWC Validator Documentation Overview
  • EWC Governance
    • Governance process
    • Proof-of-Authority Consensus Mechanism
    • EWC Validator Node Operational Functions
    • EWC Validator Roles & Responsibilities
    • Validators eligibility
    • Validators code of conduct
  • Guides
    • Set-up your Validator node in minutes with EW Launchpad
    • Installing a Validator Node
      • Host Machine Requirements
      • Recommended Security Settings
      • Operating System Requirements
      • Validator Node Installation Instructions
    • Maintaining a Validator Node
      • Validator Node Architecture
      • Validator Node Service Commands
      • Updating the Client
      • Changing the Validator Config File
      • Checking node status & logs
      • Migrating a validator node to a new environment
      • How To Transfer EWT from a Validator Node
      • Problems connecting to peers
  • Secure Your Validator Node
    • Changing validator payout address and setting up multi-signature
Powered by GitBook
On this page
Export as PDF
  1. Guides
  2. Maintaining a Validator Node

Validator Node Architecture

PreviousMaintaining a Validator NodeNextValidator Node Service Commands

Last updated 3 years ago

The System architecture of a validator node on the Energy Web Chain is made up of two main components. (Note: the original node architecture featured a node control component, but it was never used and formally deprecated in 2020).

Client: The OpenEthereum or Nethermind client that connects the validator to the Energy Web Chain, collects transactions and proposes blocks according to the . Read the documentation of the OpenEthereum client , and the Nethermind client .

Telemetry: There is a monitoring system on the validator node that uses Telegraf to securely send telemetry to an that is connected to and the EWC Validator Data Warehouse & Dashboard. The use of telemetry is opt-in. Validators can disable it if they have their own monitoring system in place that allows for real time tracking of all relevant metrics.

Telemetry data includes:

  • CPU usage of the host machine

  • Memory usage of the host machine

  • Disk usage of the host machine

  • Number of connected peers

  • List of visible P2P peers

  • Current block (latest block synced by the node)

  • Network latency to 3 different and major locations (e.g. cloudflare, google, amazon)

  • Network throughput

  • Network error rate

  • Number of SSH keys for the host machine

  • Service status for SSH, docker and the parity container

  • SHA256 hashes of key system components/binaries

  • Current chain specification file (or hash)

The use of telemetry is opt-in. Validators can disable it if they have their own monitoring system in place that allows for real time tracking of all relevant metrics.

As this is sensitive data, we rely on well established industry solutions to transfer these metrics off the validator node. Telegraf is a server agent that plugs into many different services to collect data. Telegraf collects relevant metrics from the host machine and the custom-built parity metrics collector which allows Telegraf to receive the metrics from the parity client. For more information on Telegraf visit:

The collected metrics are then stored in an InfluxDB database and can be visualized using the monitoring tool Grafana. For more information on influxDB visit:

For more information on Grafana visit:

All components are run in separate docker containers managed by docker compose. For additional information on docker visit: and

https://docs.influxdata.com/telegraf/v1.10/
https://docs.influxdata.com/influxdb/v1.7/
https://grafana.com/docs/
https://docs.docker.com/
https://docs.docker.com/compose/
AuRa consensus algorithm
here
here
InfluxDB
Grafana
High-level Validator Node Architecture