Skip to main content

Running a Node

Prerequisites

Hardware requirements

To run a reliable, performant node, we suggest that the node’s hardware profile should match or exceed the following specification:

CPUsMemory (GB)Storage(GB)Network Bandwidth
816500 GB of SSD space (initially)Recommended at least 100 Mbps

This is a rough guideline only and each node runner should monitor their node operation to ensure good performance for the intended task.

System requirements

The recommended operating system for a production node is Ubuntu 22.04.2.0 LTS (Jammy Jellyfish). All our node helper scripts have been tested on this system, as well as all code snippets in this documentation. If you choose to use a different operating system some of our tools might not be available (e.g. the `babylonnode` CLI) and you might need to adjust some of the code snippets.

The node software can run on the following platforms:

  • darwin-aarch64
  • darwin-x86_64
  • linux-aarch64
  • linux-x86_64
  • windows-x86_64-gnu
  • windows-x86_64-msvc

Additionally, your platform of choice must be capable of running a Java SE 17 compatible runtime environment. We recommend using OpenJDK.

Next steps

In the steps that follow we'll guide you through the process of setting up a Radix Node. There is more than one way to setup a production node, but none is worse that the others.

We have prepared guides for a few most common setups and provided the tools that even further simplify the whole process.
The whole processes can be divided into 3 "milestones":

  1. Basic node setup (you'll get a fully functional node connected to the network) 
  2. Productionisation (recommended further steps for a production node)
  3.  Hardening (recommended further security steps)

For a production node we recommend using one of these two options:

  • node process running directly on the host operating system managed by SystemD
  • node process running in a Docker container

Our node runner helper application (`babylonnode` CLI) was designed to work with both of these setup modes.

Throughout the rest of this guide, in each step we'll consider these two variables:

  • Is it a containerized setup (i.e. Docker)?
  • Is the user (i.e. you) using our helper CLI application or doing things manually?

Below is a matrix of all productionised setup modes that have been covered in this guide:

The `babylonnode` CLI

Before we move on, it's a good time to introduce our node runner helper application: the `babylonnode` CLI.
It is not required to use it, but it can greatly reduce the effort of setting up a node, and thus we recommend doing so. It supports both of our recommended setup modes, that is: SystemD and Docker.

Next next (or just "Next" if skipping the CLI): Basic node setup

DescriptionPrimarily uses CLI for setup and management?Containerized?****How is the process managed?
Barebones Manual
NoNoManually, i.e. you run a script
Docker w/ CLIYesYesWith Docker
Docker Manual (w/o CLI)
NoYesWith Docker
SystemD w/ CLIYesNoWith SystemD units
SystemD Manual (w/o CLI)
NoNoWith SystemD units