FinDAOra | Validator Tutorial 💜

FinDAOra
Findora Foundation
Published in
5 min readJul 18, 2022

This tutorial will guide you through the process of becoming a validator. Shout out to EasyNode for helping us put together this brief tutorial. Here’s a link to learn more.

Hardware Requirements:

To run a node, here are the basic requirements you’ll need to meet with your machine.

  • Minimum: 8GB RAM, 2 Core CPU, 100GB Hard Disk
  • Recommended: 16GB RAM, 4 Core CPU, 300GB Hard Disk

Recommended Computing Requirements

Many people recommend cloud computing because they have backup systems and emergency systems in place in case there’s a loss of power or some other malfunction. Using a cloud service ensures you’re always running and won’t suffer slashing penalties for being off-line. Otherwise, you’ll need to tend your node or nodes and make sure they are constantly online and running.

Here are the recommended parameters:

  • AWS T3 t3.2xlarge
  • AliCloud g6 g6.2xlarge
  • GCP n2 n2-standard-8

Automated Setup

Step 1 — Docker

You need to install Docker onto your server before you can do either an Auto or Manual install.

Step 2 — Set up the Findora Node Tool

  • fn: Download the Findora Node Setup (fn) which is a CLI tool with sub-commands necessary to set up a validator node and stake/unstake FRA.
  • Linux version
  • MacOS version

Download Instructions:

# download and move to your path

wget https://wiki.findora.org/bin/linux/fn

chmod +x fn

mv fn /usr/local/bin/

Step 3 — Download Wallet and Generate a Private Key

Staking and validating on Findora will require a Findora Wallet where you can store and stake your FRA.

Once you have downloaded your wallet and safely stored your mnemonic phrase and private key, generate a new, random pair of public and private keys for your node which will get used for staking your FRA:

fn genkey > tmp.gen.keypair

View the contents of your tmp.gen.keypair file via the command below:

cat tmp.gen.keypair

Note: Before proceeding further, the staking private key should be stored in file /data/findora/{network_name}/{network_name}_node.key. This will be the sec_key in your tmp.gen.keypair file. You will need to create this directory if it doesn’t exist.

Step 4 — Download and run the automated setup script

Code to copy:

`example: bash -x node_init_testnet.sh`

Step 5 — Setup fn CLI tool

To configure fn for use on Mainnet:

fn setup -S https://prod-mainnet.prod.findora.org

Connect your staking key (now stored inside `node.mnemonic`) to fn. This allows fn to sign transactions on your behalf. For example

ex)

# fn setup -O ${ROOT_DIR}/node.mnemonic

fn setup -O <Path to the mnemonic of your node> || exit 1

Connect your Node Key to fn. For example:

# fn setup -K ${ROOT_DIR}/tendermint/config/priv_validator_key.json

fn setup -K <path to validator key> || exit 1

Step 6 — Fund Your Validator

Findora validators are required to stake a minimum of 10,000 FRA to register as a validator. Before you can stake FRA to your validator, you must first transfer FRA to the Findora Address (i.e. UTXO wallet address) of your validator.

  • Transfer FRA from an existing Findora wallet to your Findora Address). If you want to buy FRA, here’s a tutorial breakdown of how to buy FRA from Kucoin
  • Only the top 100 validators (with the most FRA staked) will earn FRA rewards.
  • Before staking, wait for 100% data synchronization of your validator node or else, you may be charged a ‘validator node offline’ penalty fee.

Step 7 — Node Operations

Besides node setup, the fn tool is also used for general validator staking operations such as staking FRA into the validator, setting the commission rate the validator charges, transferring FRA balances on the validator to another wallet address, and claiming FRA rewards.

To see the list of all subcommands under fn use the — help flag:

fn — help

To get detailed info about a specific sub-command, like stake, use the — help flag.

Step 8 — Stake Initial FRA and Set Commission Rate

After receiving FRA to your validator’s Findora Address, you must stake a minimum of 10,000 FRA to be a validator. Only the top 100 validators (with the most FRA staked) will earn FRA rewards.

Tips:

Before staking, wait for 100% data synchronization of your validator node or, you may be charged a ‘validator node offline’ penalty fee.

For example:

To stake 999,999 FRAs with a commission rate of 2% (and validator name of Validator_Pool_A) your Staker Memo file should be like this (Note: that is 999999 * 1000000 FRA units):

# -

# -

cat staker_memo

{

“name”: “ExampleNode”,

“desc”: “I am just a example description, please change me.”,

“website”: “https://www.example.com",

“logo”: “https://www.example.com/logo"

}

fn stake -n $((999999 * 1000000)) -R 0.02 -M “$(cat staker_memo)”

Step 9 — Stake Additional FRA

You can always stake more FRA. Below is an example of how to increase your stake with 2,000 FRA:

# To stake an additional 2,000 FRA to your validator

fn stake -a -n $((2000 * 1000000))

Step 10 — View Node Information

To find information about your validator node, use the fn show command. Sample output is below:

Step 11 — Claim FRA Rewards

The top 100 validators will earn block rewards. If your validator is a top 100 validator, it will earn rewards which will show up in the rewards: section of fn show.

If your reward balance is greater than 0, you can claim your earned rewards via the fn claim sub-command

# fn claim -n <the amount of FRA units you want>

# ex)

# If you have a reward balance of 20 FRA (i.e. “rewards: 20000000”)

# and wish to claim 10 FRA (out of 20 FRA), issue the command below:

fn claim -n $((10 * 1000000))

How to Unstake Your FRA

Unstake Some of Your FRA by:

# fn unstake -n <the amount of FRA units you want>

# ex)

# To unstake 900 FRA (ie. 900 * 1000000)

fn unstake -n $((900 * 1000000))

Close Validator and Unstake All of Your FRA

NOTE: This operation will unstake all of your FRA and remove your node from the Findora Network.

# fn unstake

Please visit Findora Wiki for additional information.

Easy Node

The Findora DAO’s mission is to help our community to understand and utilize Findora’s ecosystem tools.

--

--