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:Mandatory Checklist for Validator Setup
Checklist | Binaries | Ansible | Packages |
---|---|---|---|
Machines Required | 2 Machines - Sentry & Validator | 3 Machines - Local Machine, Sentry and Validator | 2 Machines - Sentry & Validator |
Install Go Packages | Yes | No | No |
Install Python | No | Yes (only on the Local Machine where the Ansible Playbook runs) | No |
Install Ansible | No | Yes (only on one machine) | No |
Install Bash | No | No | Yes |
Run Build Essential | Yes | No | No |
Node Setup | Using Binaries | Using Ansible | Using Packages |
Logs & Backups
- Heimdall logs:
- Bor logs:
- Backup key files:
Version Checks
- Heimdall version:
- Bor version:
Maintain at least 2 sentry nodes for maximum uptime.
Peer Count Monitoring
- Heimdall:
- Bor:
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
VPN, Python, and Ansible Setup
VPN, Python, and Ansible Setup
- VPN setup is required before proceeding.
- On Mac, replace native Python 2.7 with Python 3.x.
- Ensure pip3 packages are installed correctly.
- Remove any previous Go, Bor, or Heimdall setups before starting.
- To clean up old setups:
SSH and Remote Access
SSH and Remote Access
- Ensure you have SSH access to the remote machine:
- Sentry Host IP and Validator Host IP must be the same, with colons at the end of lines.
Config and API Keys
Config and API Keys
- Add your API key to
heimdall-config.toml
. - Add
persistent_peers
to/var/lib/heimdall/config/config.toml
.
Migration & Cutover
Migration & Cutover
- Provision nodes and install all software.
- Download latest Heimdall and Bor snapshots.
- Move key and keystore files to new validator.
- Shut down current validator and sentry.
- Start all services on sentry, then validator.
Common Questions & Answers
Common Questions & Answers
- Why keep ETH in signer account? ETH is needed for submitting checkpoints to Ethereum (gas fees).
- Do I need both Sentry and Validator nodes? Yes, for security and network architecture.
- Where is Heimdall account info?
- Binaries:
~/.heimdalld/config
or/var/lib/heimdall/config
- Linux package:
/etc/heimdall/config
- Binaries:
- Where to add API key? In
heimdall-config.toml
. - Where to add persistent_peers? In
/var/lib/heimdall/config/config.toml
. - How to stop services?
- Linux:
sudo service heimdalld stop
,sudo service bor stop
- Binaries:
pkill heimdalld
,pkill heimdalld-bridge
,bash stop.sh
- Linux:
- How to remove directories?
- Linux:
sudo rm -rf /etc/heimdall/*
,sudo rm -rf /etc/bor/*
- Binaries:
sudo rm -rf /var/lib/heimdall/
,sudo rm -rf /var/lib/bor
- Linux:
- How to reduce Bor cache? Use the
--cache
parameter. - How to delete Bor DB?