Running a Standalone Node with the RadixNode CLI

Introduction

RadixDLT are launching a new Python-base installation which takes much of the boilerplate out of getting your Radix node up and running. Once installed, Node Runner will support the following functions:

  • Install or upgrade a full Radix Node as a Standalone instance.

  • Convert a full node to a validator node.

  • Configure the node for dashboard monitoring.

This guide shows how to create a Standalone node. Once complete, you can continue on to Registering a Validator Node using the RadixNode CLI, but make sure you complete this exercise first.

This script has only been tested on Linux Ubuntu 20.04

Windows is not supported

Prerequisites

We’re assuming you’re familiar with Unix-based operating systems. Your hardware profile should match or exceed the following specification:

CPUs Memory (GB) Storage(GB) Network Bandwidth (Gbps) Operating System

4

8

100 GB of SSD space (initially)

Up to 10

Ubuntu 20.04.2.0 LTS (Focal Fossa)

If you’re upgrading an existing node then remember to make a copy of your validator.ks file before you continue.

1. Update Packages

Ensure that all the packages on the system are up to date by running the following command from the terminal

sudo apt update -y

You will also need to install wget which you’ll need for downloading the radixnode script.

sudo apt install wget
This might be installed already as a standard package on your system.

2. Download the radixnode script.

The radixnode script can be downloaded from the RadixDLT GitHub repository.

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

  2. Copy the link for the latest release of radixnode.

  3. Add the link to a wget command to download the file:

    wget -O radixnode https://github.com/radixdlt/node-runner/releases/download/1.0-beta.35.1/radixnode-ubuntu-20.04
  4. Set the permissions on the script to executable.

    chmod +x radixnode
  5. Now move it to the /usr/local/bin/ directory, so it’s accessible from any other directory.

    sudo mv radixnode /usr/local/bin

3. Install and Configure the Standalone Node

Run the following command to install the node software:

radixnode configure-systemd

The script will install the standalone node and its supporting files. You’ll be asked to create a password for the radixdlt user. (For security, the node runs under the radixdlt user, rather than running as an administrator).

Once you have entered and confirmed the password, you will be presented with a series of instructions to enable the radixdlt user to execute commands without the need for user intervention.

Execute following commands so that the radixdlt user can use sudo commands without needing you to enter a password:

  $ sudo su

  $ echo "radixdlt ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/radixdlt
Follow all of these instructions before moving on to the next step.

4. Log on as the radixdlt user

  1. Log in as radixdlt

    sudo su - radixdlt
  2. Then ensure that you are in the /home/radixdlt directory. You can check your current directory using the following command:

    pwd

    If you’re not in the /home/radixdlt directory then switch to it:

    cd /home/radixdlt

5. Set the password for the Nginx server

  1. Execute the following command to set the password for the web server:

    radixnode set-admin-password --setupmode SYSTEMD
  2. Enter your password at the prompt, then enter it again at the verification prompt.

  3. As shown on screen, enter the following command to set an environment variable for your password (remember to fill in your own password):

    echo 'export NGINX_ADMIN_PASSWORD="nginx_password_of_your_choice"' >> ~/.bashrc
  4. Add the new environment variable to your session by executing the following command:

    source ~/.bashrc

6. Run the Standalone Node

  1. Run the following command, paying close attention to the parameters

    radixnode start-systemd \
        -r 1.0-beta.35.1 \              (1)
        -n fullnode \                 (2)
        -i 3.10.174.206 \             (3)
        -u \                          (4)
        -t 52.48.95.182               (5)
    1 The -r option is optional and specifies the release of the node software you wish to install. If the flag isn’t set, radixnode will use the latest release from this location and nginx latest release from this location.
    2 The -n option sets the node type, which can be fullnode or archivenode.
    3 The -i option is the external IP address of your server.
    4 The -u flag is optional and is used only if you are upgrading from a previous version of the node. If applied to the command, it will create a backup of the old configuration file and ensure that the node has stopped before applying the changes.
    5 The -t setting is the IP address of a Radix node you can use to join the network. When the command executes, the script will download the configuration file from the specified node and attempt to make a connection. Select your closest node from the list below:
    Europe US Australia Asia Region

    52.48.95.182

    3.229.229.42

    13.237.131.119

    65.0.140.17

    54.220.72.167

    54.162.38.223

    52.62.252.194

    65.1.199.241

    54.228.40.6

    54.162.91.167

    52.62.40.95

    65.1.232.232

    63.35.3.57

    54.82.244.245

    52.64.238.70

    65.2.154.228

7. Make sure the node is running

You can check to see if your node is running by checking for its address:

radixnode get-node-address

This command will show you the address, along with the number of tokens held by the node:

{"address": "brx1qsp2jfx4cnhl0vgd80q5qq0qk4wcz076pzgzdj3pefghp8vrxmxsnng02k4fu", "balance": {"balances": {}, "staked": []}}

8. Obtaining node information

The radixnode script allows you to interrogate your node for useful information, such as the external host IP and the software version. Just enter the following command:

radixnode system-info

9. Check the node is syncing

  1. Make sure you have the json processor installed:

    sudo apt install jq
  2. Execute the following command:

    curl -s -u admin:nginx_password_of_your_choice  -X GET -k 'https://localhost/system/info' | jq '.info .counters .ledger .state_version'
  3. Make a note of the number. Wait a few seconds, then run the same curl command again.

If the number changes between subsequent executions of the command then the node is syncing correctly.

If the number stays the same, the node is not syncing correctly. In this case, you can contact Radix engineers through the Discord Channel for help.

10. Stopping the Standalone Node

Run the following command to stop the nginx and Radix node services.

radixnode stop-systemd

More information on RadixNode Usage

You can use RadixNode to carry out more administration tasks. For example:

You can find more information about the RadixNode command set on the Node Runner Repository site.

If you have any questions or run into problems, then check our troubleshooting guide, or the FAQ page. You can also get help from the community and Radix engineers on the Discord channel.