Technical Requirements
Node Specifications
These are the recommended specs for a ZetaChain node.
Node Type | CPU | Memory | Data Disk |
---|---|---|---|
Observer Signer | 8 CPUs | 32 GB Memory | 300+ GB Data Disk |
Core Validator | 4 CPUs | 16 GB Memory | 300+ GB Data Disk |
Network Requirements
Public Ports
ZetaChain nodes communicate over the following ports. Make sure these are open to the public internet.
Node Type | Port | Protocol |
---|---|---|
Full Node and Validator | 26656 | TCP |
Observer Signer Only | 8123 | TCP |
Observer Signer Only | 6668 | TCP |
Additionally, Observer Signers must allow communication between zetacored
and
zetaclientd
on port 9090 but this port should not be publicly accessible.
RPC/API/Archive Nodes
If you want to access RPC/API services on your node you'll need to make sure the following ports are open.
RPC Type | Port | Protocol |
---|---|---|
EVM RPC - HTTP | 8545 | TCP |
EVM RPC - WSS | 8546 | TCP |
Cosmos RPC | 1317 | TCP |
Operating System
ZetaChain nodes have been developed and tested on x86_64 architecture. Our binary files have been compiled with Ubuntu 22.04 LTS x86_64. This guide assumes you are using Ubuntu 22.04 LTS x86_64. If you are using a different OS you may need to make some adjustments.
Getting Started
Set Limits on Open Files and Number of Processes
To better manage the resources of your nodes, we recommend setting some limits on the maximum number of open file descriptors (nofile) and maximum number of processes (nproc).
Edit /etc/security/limits.conf
to include or modify the following parameters:
* soft nproc 262144
* hard nproc 262144
* soft nofile 262144
* hard nofile 262144
Edit /etc/sysctl.conf
to include the following:
fs.file-max=262144
Monitoring
In a production environment we recommend monitoring the node resources (CPU load, Memory Usage, Disk usage and Disk IO) for any performance degradation.
Prometheus can optionally be enabled to serve metrics which can be consumed by Prometheus collector(s). Telemetry include Prometheus metrics can be enabled in the app.toml file. See the CosmosSDK Telemetry Documentation for more information.