Skip to main content

Validator Requirements

Elastos Supernodes are responsible for validating blocks produced by Bitcoin merge miners via the bonded proof-of-stake (BPoS) consensus model, as part of the mainchains overarching Elastic Consensus design.

For a detailed description of BPoS mechanics, please visit here.

For a better understanding of Elastos' economics, please visit the economics page.

Attention!

Only Cyber Republic Council members are required to run all services! Regular BPoS operators can simply run the mainchain, which requires far fewer computational resources. Check the hardware requirements for more information.

User Requirements

This guide is mostly intended for the user who:

  • Feels comfortable with Linux or similar POSIX shell environment
  • Has the budget to access cloud computing or virtual private server resources, or has the ability to stand up their own server

Minimum Hardware Configuration

If you are a community validator, only the ELA (mainchain) service needs to be installed:

  • CPU: 2 cores or more
  • RAM: 8 GB or more
  • Storage: 100 GB or more (total size as of March 2023 is ~50 GB)

If you are a CR Council member, all services (ELA, ESC, EID, oracles, and arbiter) must be installed:

  • CPU: 4 cores or more
  • RAM: 32 GB or more
  • Storage: 400 GB or more (total size as of March 2023 is ~200 GB)

A solid-state drive (SSD) is generally preferred but not a must. A hard drive (HDD) should be OK, especially to just run the mainchain.

tip

The disk usage will always increase because the blockchains are growing. You should keep an eye on your disk to make sure it is big enough to hold all the programs.

Reference Configurations

There are many options to choose from when selecting a hosting provider. Several instance options along with hardware specs and rough pricing estimates are tabulated below. These lists are intended only as a means of comparison and are not inteded to be an exhaustive index of all possible server solutions.

Mainchain Only (Community Validators)

ProviderTypeModelCPUsRAM (GB)SSD Storage (GB)Price (Month) USD
AWSCloudt3.large28100*~$100
TencentCloudS6.MEDIUM828100~$80
AlibabaCloudecs.g7a.large28100~$60
Digital OceanCloudBasic Droplet28160~$48
HetznerVPSCPX312880~$13
NetcupVPSVPS 1000 G1068160~$11
ContaboVPSCloud VPS S48200~$6
Some providers are more economical than others!

It is recommended operators explore other providers in addition to the ones listed to ensure that the network does not become overly reliant on a single hosting solution.

All Services (Only CR Council Members)

ProviderTypeModelCPUsRAM (GB)SSD Storage (GB)Price (Month) USD
AWSCloudt3.2xlarge832400*~$280
TencentCloudS6.2XLARGE32832400*~$275
AlibabaCloudecs.g7a.2xlarge832400*~$250
OVHDedicatedRise-16321000*~$85
HetznerVPSCX51832440*~$60
NetcupVPSVPS 6000 G101436960~$40
ContaboVPSCloud VPS L830800~$25

* Additional storage needs to be configured when ordering

tip

If you're unclear on the differences between Cloud hosting and VPS (Virtual Private Server) hosting, this article has you covered. Both are viable options, but they come with some tradeoffs for operators that are worth being aware of.

Server Software Requirements

  • OS: Ubuntu 20.04 LTS 64 Bit (Intel x86_64) or newer
    • Ubuntu is the recommended as the Elastos blockchain developers use macOS and Ubuntu to do the development and testing, but the nodes should run on other distributions as well.
    • LTS is better because LTS has a longer product life than the non-LTS version. (See Ubuntu Releases)
    • The script prefers a freshly installed OS because it reduces conflicts with the old setup. It is time-consuming to debug such conflicts and do the related support work.

Public Network Requirements

  • Use the non-metered connection to prevent a high usage billing
  • A Public IP

Server Security Rules

The following ports need to be publicly accessible from anywhere (0.0.0.0/0). For a cloud server, please modify the inbound rules.

If you do not need all the chains, please find a required subset by the chain name.

Chain or Program NameProtocol and Port RangePurpose
ELATCP 20338ELA P2P
ELATCP 20339ELA DPoS
DIDTCP 20608DID P2P
ESCTCP+UDP 20638ESC P2P
ESCTCP 20639ESC DPoS
EIDTCP+UDP 20648EID P2P
EIDTCP 20649EID DPoS
ArbiterTCP 20538Arbiter P2P
CarrierUDP 3478Carrier P2P
CarrierTCP 33445Carrier TCP Relay
CarrierUDP 33445Carrier P2P