Install the Radix Node

Introduction

This section of the guide will walk you through the steps to complete a Docker versioned install of the Radix Node Runner package. Alternatively, Radix also provide the instructions for a Systemd install. The original installation instructions for both can be found here;

Pre-requisites

Port 30000/tcp opened for gossip

sudo ufw allow 30000/tcp

Port 443/tcp opened for NGINX

sudo ufw allow 443/tcp

The CLI has been developed with Ubuntu 20.04 and is not compatible with Windows

Install the CLI and then install the Docker Node version using the CLI

Radix have developed a CLI tool that facilitates an easier method for installing the package and for later querying the node. We will cover the querying elements in a later section.

Make sure all your system packages are up-to-date.

sudo apt update -y

ensure wget is installed

sudo apt install wget

Download the CLI package

Go to the URL https://github.com/radixdlt/node-runner/releases and look for the entry with the Latest release marker and copy the link to the latest release.

wget -O radixnode https://github.com/radixdlt/node-runner/releases/download/1.0.4/radixnode-ubuntu-20.04

Set the permissions on the script to executable.

sudo chmod +x radixnode

move it to the /usr/local/bin/ directory

sudo mv radixnode /usr/local/bin

Install Docker

radixnode docker configure

log out of your ssh session and back in again

Exit ssh login and relogin back for user addition to group "docker" to take effect

Configure NGINX

radixnode auth set-admin-password --setupmode DOCKER

create and enter a strong NGINX admin password

set the NGINX password environment variable

echo 'export NGINX_ADMIN_PASSWORD="nginx-password"' >> ~/.bashrc

add it to your session

source ~/.bashrc

do the same for a NGINX superadmin password

radixnode auth set-superadmin-password --setupmode DOCKER

set the NGINX superadmin environment variable

echo 'export NGINX_SUPERADMIN_PASSWORD="nginx-password"' >> ~/.bashrc

add it to your session

source ~/.bashrc

Install and start the Radix Docker node

If you are building a validator node the enter a switch for -n fullnode. Alternatively you would enter -n archivenode for a non-validating archive node.

radixnode docker setup  \
     -n fullnode \
     -t radix://tn1qgtjz4432e7ghdfsdc6ssu4v63rwxk2g84e4yedadeasfsfaw3995l9gl6l@52.215.119.169

the second -t switch is for the seed node that you use to connect to the network. You would normally choose a node closest to your hosting region.

It will now go through a list of questions to configure your node

enter y at the prompt

Going to setup node type fullnode for version 1.0-beta.37 from location https://github.com/radixdlt/radixdlt/releases/download/1.0-beta.37/radix-fullnode-compose.yml.

Do you want to continue [Y/n]?:

as this is our first install enter n for the node keystore file.

Do you have keystore file named 'node-keystore.ks' already from previous node Y/n?:n

Enter a strong password for your keystore file

Enter the password of the new file 'node-keystore.ks':

Choose Y to configure the data directory.

Do you want to configure data directory for the ledger [Y/n]?:Y

Enter the absolute path to where you want to store the Radix DB

Enter the absolute path to data DB folder: /home/radixdlt/RADIXDB

enter s for stokenet or m for mainnet

Enter the network you want to connect [S]Stokenet or [M]Mainnet or network_id:s

the install is now complete. Your docker yml file will be displayed where you can check the docker settings. Enter y to start your node

Your node is node installed. Before we move to the next section we'll confirm some basic checks

radixnode api account get-info

should return the following Json with your own tdx... node wallet address

{"result": {"address": "tdx1qsprd6tt0dxvw9qks2mh743tr68s4ft9p6qv2zkfc622uymczragyfclqqu7e", "balance": {"stakes": [], "tokens": []}}, "id": 1, "jsonrpc": "2.0"}

check the software version is correct

radixnode api version

{"version": "1.0-beta.37-release~1.0-beta.37-SNAPSHOT"}

check the node's health

radixnode api health

{"status": "UP"}

other reponses may include

  • BOOTING - node is booting and not ready to accept requests

  • SYNCING - node is catching up the network

  • UP - node is in sync with consensus

  • STALLED - node is out of sync and not trying to sync with network, but network is still available.

  • OUT_OF_SYNC - node is out of sync and does not get updates from network (for example, connection to network is lost).

the node is now ready to be registered on the network.

Optimise Node

You need to install ansible first

sudo apt install ansible

Original Radix Docs

Docker Install using CLI https://docs.radixdlt.com/main/node/cli-install-node-docker.html

SystemD Install using CLI https://docs.radixdlt.com/main/node/cli-install-node-systemd.html

Last updated