New Build

Installing Fractal Node software via the Toolbox on a new server

This guide is for installing the Validator Toolbox software on a brand-new server setup. We will have notes for first-time validators as there are some additional one-time steps required to become live on testnet or mainnet.

Pre-Installation Tasks

Server Selection

You will need a computer/server running 24/7 to run a Fractal Validator. Typically this will be a virtual server running on a hosted provider such as Contabo.

System Requirements

Once you have a server created you are ready to log in and begin the installation.

Step 1: Setup A User Account

In this guide, we will be using the name servicefractal but feel free to customize each command block for a different username of your choosing.

Adding a User Account

Add a new user account to the server using the adduser command, shown below.

You will need to pick a password and, optionally, enter some basic info and then answer Y to confirm, as shown below. Store this password in a secure location.

Enter the following command:
adduser servicefractal

Provide Root Access to the New Account:

Once you've created your user account, provide it root access by running the following command:

Enter the following command:
usermod -aG sudo servicefractal

There will be no output response to the command.

Logout and Reconnect as Your New User

At this point, you can log out by typing exit and hitting enter.

Log back into your node as "servicefractal" using your SSH client (e.g., Putty).

Verify Group & Root Access for User Account

Verify your new user is in the sudo group by reconnecting now as the new user account. Once logged in, send the command groups to verify you are in the sudo group.

Enter the following command:
groups

Step 2: Install Docker and Requirements

Install docker by running the following block of code, customize the username servicefractal if you're using a different user name:

Enter the following command:
sudo apt update -y && sudo apt install apt-transport-https ca-certificates curl software-properties-common python3-pip python3-dotenv git zip unzip -y && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && sudo apt install docker-ce -y && sudo usermod -aG docker servicefractal

You will see lengthy output from running this command, but it should return to the prompt after a few moments of setting up docker. This is the expected output:

Disconnect and Reconnect as "servicefractal"

After reconnecting, you can verify you are in the docker group by typing groups and verifying the docker group is listed as shown.

Run the "docker ps" Command

Run docker ps command. Below is the expected output:

Step 3: Firewall Setup

Firewall types vary depending on OS and provider.

Here are the ports required to be open for Findora. Port 22 is for SSH, the rest are for the Findora docker container. Use your provider tools or the CLI to configure your firewall. Below is an example list of commands to configure your firewall via CLI.

sudo ufw allow 22
sudo ufw allow 8545/tcp
sudo ufw allow 8667/tcp
sudo ufw allow 8668/tcp
sudo ufw allow 8669/tcp
sudo ufw allow 26657/tcp

Step 4: Download & Run Toolbox Installer

Once you've logged back in and your user is in the docker group, run the following command to install the toolbox and begin installation on either mainnet or testnet.

Our menu will launch and ask you a few simple questions to get you fully loaded and online:

cd ~/ && wget https://raw.githubusercontent.com/FindoraNetwork/findora-toolbox/main/src/bin/findora.sh && chmod +x findora.sh && ./findora.sh --installer

The installer will pull the installation script and get everything setup. At the end of the installer you'll have a fully working validator syncing up to the blockchain on a brand new tmp.gen.keypair and priv_validator_key.json file.

These are usable as wallets but are also disposable still at this point. You can test out all the functions of a Findora server now as long as you don't run the staking and creation commands.

After Toolbox Installation

At this point you'll have a system that begins syncing automatically on the blockchain after the database download and unpacking completes. Wait for your sync_status to equal false before sending your command to create a validator or before migrating an existing validator to the new server.

Run the following commands and ensure they return status messages without errors. Your node has been successfully configured and started if no errors are displayed.

curl 'http://localhost:26657/status'
curl 'http://localhost:8669/version'

Step 5: Complete Validator Creation

Fund Validator Wallet & Creating Validator On-Chain

Now you can run fn show or findora.sh to see your validator address on this server.

You should now fund your validator wallet address with at least 10,000 FRA plus extra to cover any gas fees or slashing due to unexpected downtime. Proceed to the next steps below once your validator wallet address is funded. It will be required during the self-delegation step using the fn stake command.

Staker Memo File

Create the file staker_memo in your home directory. This file defines your validator name, description, your website, and logo to display.

Enter the following command:
nano ~/staker_memo

This will open the nano text editor. You can copy and paste the template below.

{
  "name": "ExampleNode",
  "desc": "I am just an example description. Please change me.",
  "website": "https://www.example.com",
  "logo": "https://www.example.com/logo.png"
}

Remember to customize the fields above before saving the file. For the logo, a free and easy platform to use is imgur.com. Paste your logo to imgur.com and use the link they provide, ensuring it ends in .png or .jpg.

In the next step, when you create your validator, the information in this file is passed onto the command to be used on the Findora Validator Explorer.

In the future, you can still utilize this file to update your validator information by re-editing the file and resending your info via the fn staker-update command show later.

Create Validator and Start Signing

With the wallet funded and staker_memo created, you are now ready to create your validator on-chain and begin signing blocks.

The example below shows how to start your validator with a stake of 15,000 FRA with a commission rate of 2%.

Modify it to your personal preferences.

Customize and enter:
fn stake -n $((15000 * 1000000)) -R 0.02 -M "$(cat ~/staker_memo)"

In this example, 15000 * 1000000 FRA is 15,000 FRA tokens staked.

In a few minutes, your validator information page on findorascan.io will show the commission rate and self-stake you selected in the command above.

Your validator is now online. Launch your toolbox with the following command!

cd ~/ && ./findora.sh

Step 6: Launching Toolbox

Anytime you would like to run the full toolbox menu we suggest pulling updates and then launching the application.

The code below works for either testnet or mainnet toolbox. Here's a string of code you can run to update and start the toolbox again:

cd ~/ && ./findora.sh

Wrapping Up

Congratulations!

If all steps were completed successfully, your validator should now be online - viewable from the Findora Explorer, in sync with the chain, and self-staked with at least 10,000 FRA.

Reviewing the Best Practices and Troubleshooting sections of the validator guide is strongly recommended for your next steps. We also suggest joining the Findora Discord, requesting a validator role, and joining the conversation with other validators.

Ensure you stay up-to-date on the latest Findora news and changes, as some upgrades to the network will require you to update your validator node in a timely manner.

Stay Involved

Last updated