Prerequisites

Hardware and software requirements and recommended VPS

In this section, you will find the hardware and software requirements needed to run an Exocore validator node. It also includes recommendations from Exocore contributors on the optimal hardware setup.

Hardware

To run a node on Exocore, below are the recommended hardware specifications. Do note that the storage type must be NVMe given the heavy data I/O requirements.

Storage size for validator nodes depends on the pruning configuration.

Node Types Explained:

  • Validator Node: These nodes are responsible for proposing and validating blocks. To run such nodes, more resources are required due to their crucial role in maintaining network security.

  • Full Node: Also known as archival nodes, these nodes store the entire blockchain and participate in block verification (passively), but do not propose new blocks.

  • Default Node: These nodes are suitable for light operations, storing a portion of the blockchain and performing basic network tasks. They’re also called as explorer nodes.

Software

The recommended operating system versions are listed below, although any Linux-based distribution should work. Binaries are also provided for Windows but it is not a recommended OS.

  • Ubuntu Server 24.04 LTS

  • Ubuntu Server 22.04 LTS

  • Ubuntu Server 20.04 LTS (goes EOL in April 2025)

  • Amazon Linux 2023

Additionally, CLI tooling for interacting with smart contracts written in Solidity is needed.

curl -L https://foundry.paradigm.xyz | bash
export PATH="$HOME/.foundry/bin:$PATH" # needed on some systems
foundryup

Lastly, jq should be installed using the package manager provided by your OS. For Debian and its derivatives, that is apt install jq and for Amazon Linux / CentOS, that can be done by yum install jq.

Installing the exocored binary is covered in a separate step.

For validators, the recommended EC2 instance is c5d.xlarge while other node runners may use c5d.large.

It is also possible to use instances with ARM-based processors, such as m6gd.large and m6gd.medium.

Last updated