Skip to main content
Version: master

Desmos fullnode overview

A full-node is a program that fully validates transactions and blocks of a blockchain. It is distinct from a light-node that only processes block headers and a small subset of transactions. Running a full-node requires more resources than a light-node but is necessary in order to be a validator. In practice, running a full-node only implies running a non-compromised and up-to-date version of the software with low network latency and without downtime.

Of course, it is possible and encouraged for users to run full-nodes even if they do not plan to be validators.

Requirements

Understanding pruning

In order to run a full node, different hardware requirements should be met based on the pruning strategy you would like to use.

Pruning is the term used to identify the periodic action that can be taken in order to free some disk space on your full node. This is done by removing old blocks data from the disk, freeing up space.

Inside Desmos, there are various types of pruning strategies that can be applied. The main ones are:

  • default: the last 100 states are kept in addition to every 500th state; pruning at 10 block intervals;

  • nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node);

  • everything: all saved states will be deleted, storing only the current state; pruning at 10 block intervals (At the moment this option is not recommended as it can easily corrupt the database and the node will halt);

  • custom: allow pruning options to be manually specified through pruning-keep-recent, pruning-keep-every, and pruning-interval.

Hardware requirements

You can easily understand how using a pruning strategy of nothing will use more disk space than everything. For this reason, there are different disk space that we recommend based on the pruning strategy you choose:

Pruning strategyMinimum disk spaceRecommended disk space
everything20 GB60 GB
default80 GB160 GB
nothing120 GB> 300 GB

Apart from disk space, the following requirements should be met.

Minimum CPU coresRecommended CPU cores
24
Minimum RAMRecommended RAM
4 GB8 GB

1. Setup your environment

In order to run a fullnode, you need to build desmos which requires Go, git, gcc and make installed.

This process depends on your working environment.

The following example is based on Ubuntu (Debian) and assumes you are using a terminal environment by default. Please run the equivalent commands if you are running other Linux distributions.

# Update the system
sudo apt update
sudo apt upgrade

# Install git, gcc and make
sudo apt install git build-essential ufw curl jq snapd --yes

# Install Go with Snap
sudo snap install go --classic

# Export environment variables
echo 'export GOPATH="$HOME/go"' >> ~/.profile
echo 'export GOBIN="$GOPATH/bin"' >> ~/.profile
echo 'export PATH="$GOBIN:$PATH"' >> ~/.profile
source ~/.profile

2. Install the software

Once you have set up your environment correctly, you are now ready to install the Desmos software and start your full node.

In order to do so, you can follow our setup guide.