Before setting up your Shibarium validator node, review this checklist and ensure all prerequisites are met for a secure and reliable deployment.

Recommended: Sentry Node Architecture

It is highly recommended to run your validator node with a Sentry node for security. Running without a Sentry node may expose your validator to security risks.

Downloading the Snapshot

Keep your Heimdall and Bor snapshots handy before setup. [Learn how to download them here.]

RPC Endpoint for Node Setup

Validator nodes require an Ethereum-based RPC endpoint.

Open Necessary Ports

  • 26656: Heimdall service peer connections
  • 30303: Bor service peer connections
  • 22: SSH access

Install RabbitMQ

Install RabbitMQ before setting up your validator node:
sudo apt-get update
sudo apt install build-essential
sudo apt install erlang
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.8/rabbitmq-server_3.10.8-1_all.deb
sudo dpkg -i rabbitmq-server_3.10.8-1_all.deb

Mandatory Checklist for Validator Setup

ChecklistBinariesAnsiblePackages
Machines Required2 Machines - Sentry & Validator3 Machines - Local Machine, Sentry and Validator2 Machines - Sentry & Validator
Install Go PackagesYesNoNo
Install PythonNoYes (only on the Local Machine where the Ansible Playbook runs)No
Install AnsibleNoYes (only on one machine)No
Install BashNoNoYes
Run Build EssentialYesNoNo
Node SetupUsing BinariesUsing AnsibleUsing Packages

Logs & Backups

  • Heimdall logs:
    journalctl -u heimdalld.service -f
    
  • Bor logs:
    journalctl -u bor.service -f
    
  • Backup key files:
    vi ~/var/lib/heimdall/config/priv_validator_key.json
    vi ~/var/lib/bor/keystore/UTC--XXXXX
    vi ~/var/lib/bor/password.txt
    vi /etc/shib/metadata
    

Version Checks

  • Heimdall version:
    heimdalld version
    
  • Bor version:
    bor version
    
Maintain at least 2 sentry nodes for maximum uptime.

Peer Count Monitoring

  • Heimdall:
    curl localhost:26657/net_info? | jq .result.n_peers
    
  • Bor:
    bor attach .bor/data/bor.ipc
    admin.peers.length
    
For validators, the output should be only one peer (the Sentry). Validators should only connect to their Sentry, not external peers. Sentries can connect to multiple peers.

Additional Setup & Troubleshooting