Skip to main content

Run a full node

This document provides an introduction to joining the Artela TestNet as a full node.

It is recommended to use ubuntu operating system.

Hardware Recommended Requirements:

  • 8 CPU Cores

  • 16GB of Memory

  • 1TB SSD

  • 200mbps Network Bandwidth

1. Prepare artelad​

You can start with install artelad or build source code

Option 1: Build the source.​

1). Prepare the development tools​

Skip this if you have already got your go development environment.

sudo apt-get update
sudo apt-get install -y make gcc
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

You need to create a folder to store your source files, for example, /home/user1/go/src. Replace user1 to your account, e.g. ubuntu.

mkdir -p /home/user1/go/src

Then, set /home/user1/go as the GOPATH by using the following command:

export GOPATH=/home/user1/go

This ensures that the necessary Go environment variables are configured correctly.

2). Clone and build the code​

cd $GOPATH/src
git clone
# git clone
# git clone
cd artela

git checkout main
make clean && make
cp ./build/artelad $HOME/go/bin/.
export PATH=$PATH:$HOME/go/bin

Option 2: Download and Install Artelad​

Find the binary artelad at Artela Network github repository, releases link.

Copy the binary artelad to /usr/local/bin.

2. Init node​

1). Init

artelad init <custom_moniker> # e.g artelad init test111

2). Copy genesis from genesis.json, and move to the home directory.

mv genesis.json $HOME/.artelad/config/genesis.json

3). Configure

Get presistent seeds from 2. Persistent nodes

Add two of them to seeds in config.toml

cd $HOME/.artelad/config
# e.g sed -i 's/seeds = ""/seeds = "[email protected]:26656,[email protected]:26656"/' config.toml
sed -i 's/seeds = ""/seeds = "<node-id-1@node-1-ip:port>,<node-id-2@node-2-ip:port>"/' config.toml

3. Set state sync​

cd $HOME/.artelad/config
sed -i 's/enable = false/enable = true/' config.toml
sed -i 's/trust_height = 0/trust_height = <BLOCK_HEIGHT>/' config.toml
sed -i 's/trust_hash = ""/trust_hash = "<BLOCK_HASH>"/' config.toml

# e.g sed -i 's/rpc_servers = ""/rpc_servers = ","/' config.toml
sed -i 's/rpc_servers = ""/rpc_servers = "node-1-ip:port,node-2-ip:port"/' config.toml

Get BLOCK_HEIGHT and BLOCK_HASH from 3. Trust block and height

Get rpc_servers from 4. RPC servers

4.1 app.toml​


It is recommended that you modify the app.toml configuration items to be consistent with the following

# app.toml
minimum-gas-prices = "0.02uart"

pruning = "custom"
pruning-keep-recent = 362880
pruning-interval = 100
pruning-keep-every = 0

enable = true
address = "tcp://"

address = ""

address = ""

snapshot-interval = 1000
snapshot-keep-recent = 10

address = ""

4.2 config.toml​


It is recommended that you modify the config.toml configuration items to be consistent with the following

# config.toml
proxy_app = "tcp://"

laddr = "tcp://"

timeout_commit = "500ms"

5. Launch Artela node​

export PATH=$PATH:$HOME/go/bin

artelad start --log_level debug

Optional: Launch Artela node as a background service

5.1 Install pm2 on ubuntu OS​

sudo apt update
sudo apt install npm -y
sudo npm install -g n
n latest
hash -r

npm install pm2@latest -g

5.2 Launch Artela node​

pm2 start artelad -- start && pm2 save && pm2 startup

5.3 Check status​

pm2 status


5.4 Check logs​

pm2 logs

When it syncs with all blocks, the output looks like: