Run a Fullnode
Last updated
Last updated
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.
It is encouraged for users to run full-nodes even if they do not plan to be validators.
You can join Joltify network as a node by using Joltify installer.
Alternatively, you can manually install a full node by following steps below.
Requirements Before starting, make sure you read the requirement to make sure your hardware meets the necessary requirements.
In order to run a full node, you need to build joltify
which requires Go
, git
, gcc
, make
, and supervisor
installed.
This process depends on your working environments. We support:
Linux/arm64
Linux/amd64
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.
In your terminal, you can run the following to build joltify
binary CLI:
If the software is built successfully, the joltify
executable will be located inside your $GOBIN
path. To check this, try running:
Configuration files and chain data will be stored inside the $HOME/.jolityf
directory by default. In order to create this folder and all the necessary data we need to initialize a new full node using the joltify init
command.
Run the init
command to init:
You can choose any node_name
value you like. It is a public name for the node such as 'my_joltify_node', and will be saved in the config.toml
under the $HOME/.joltify/
working directory.
To connect to an existing network, or start a new one, a genesis file is required. The file contains all the settings telling how the genesis block of the network should look like.
Download and place the genesis file in the joltify config folder (replace RPC_URL
with the valid joltify rpc url):
Next, you'll need to tell your node how to connect with other nodes that are already present on the network. In order to do so, you will use the seeds
and persistent_peers
values of the $HOME/.joltify/config/config.toml
file.
A seed node is a node who relays the addresses of other peers which they know of. These nodes constantly crawl the network to try to get more peers. The addresses which the seed node relays get saved into a local address book. Once these are in the address book, you will connect to those addresses directly.
Run the following to place the seed info in the config.toml file (replace peer_address
with the valid peer address):
You can use the following peer_address
to run a node on Joltify mainnet:
The Cosmos team provides a tool named Cosmovisor that allows your node to perform some automatic operations when needed. This is particularly useful when dealing with on-chain upgrades, because Cosmovisor can help you by taking care of downloading the updated binary and restarting the node for you.
Set up Cosmovisor to ensure any future upgrades happen flawlessly. To install Cosmovisor:
(You may also refer to the Cosmovisor installation instructions.)
You may leave out UNSAFE_SKIP_BACKUP=true
, however the backup takes a decent amount of time and public snapshots of old states are available.
Ensure the version of cosmovisor and joltify are the same:
Construct the cosmovisor.conf
file for starting the cosmoviso service (replace user_name
, GOPATH
and HOME
with your choice):
Move the cosmovisor.conf
file to the supervisor conf folder:
Run the following to start cosmovisor via supervisor:
Once you start the cosmovisor
via supervisor successfully, you can track your the sync progress of your full node: