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