The current architecture has 4 types of nodes
- User (Producers + Consumers)
A cluster operator is responsible for running managing the beacon, monitoring and relay nodes. Users of the network need to simply run and manage a user node.
The beacon node is similar to seed nodes or bootstrap nodes in other networks. It is the initial touchpoint using which a user discovers the other nodes in the network.
See Beacon for more details.
The monitoring node is used to monitor the network by aggregating logs and metrics from the other nodes.
See Monitoring for more details.
The relay nodes form the core of the network and are responsible for propagating information from one user to the others.
See Relay for more details.
The user nodes produce and receive messages propagating through the network.
See Gateway for more details.
|Node Type||vCPU||Memory||Disk space|
|Beacon||0.5||1 GB||< 1 GB|
|Monitoring||2||8 GB||50 GB|
|Relay *||1||1||< 1 GB|
|User *||1||1||< 1 GB|
* In the case of relay and user nodes, a full/light node of a blockchain usually runs alongside it (as shown in the diagram above) which consumes signifiant resources depending on the blockchain. Hardware requirements need to be determined accordingly. For example, we recommend 2 vCPUs, 8GB Memory and 375 GB local SSD for Ethereum.
Reference scripts for provisioning and deployment of a cluster on GCP using Pulumi+Ansible are provided here. While some tweaks might be needed to customize it based on your requirements and infrastructure, it should provide a good base for any customizations.