Managing Your Node
Monitor status • Update software • Systemd & tmux commands • Security & backups
Day-to-Day Operations
Learn how to monitor, maintain, and optimize your Reality Network validator node. From checking status to performing updates and backups.
Monitoring Your Node
Quick Status Check
Run this command to see your node's current state:
curl http://YOUR_SERVER_IP:9000/node/infoYOUR_SERVER_IP with your actual server IP. This returns JSON with your node information. Look for the "state" field - it tells you exactly what your node is doing right now.What Your Node State Means
Your node is always in one of these states. Here's what each one means and what you should do:
Everything is Good
If you see any of these states, your node is healthy and working correctly. No action needed!
"Observing"
Your node is syncing with the network. This is normal after startup and can take 5-30 minutes.
"Ready"
Perfect! Your node is fully synced and participating in the network. This is what you want to see.
"Waiting"
Your node is synced and waiting for its turn to participate. This is normal - the network assigns roles deterministically.
"RedownloadInProgress"
Your node detected inconsistent data and is re-syncing. This is a built-in safety feature, not an error.
Action Needed
"ReadytoJoin"
Your node is synced but hasn't joined the cluster yet. You need to connect to a bootstrap node.
What to do: Follow the Join Cluster instructions to connect using one of the bootstrap nodes.
Warning Signs
"SessionStarted" (stuck for 10+ minutes)
If you've been in this state for more than 10 minutes, your node might have connectivity issues.
What to do:
- Restart your node (see commands below)
- Try connecting to additional bootstrap nodes
- Check the FAQ troubleshooting section for detailed help
"Offline"
Your node isn't running or can't be reached.
What to do: Check if your node service is running:
sudo systemctl status reality-nodeIf it's not running, start it with: sudo systemctl start reality-node
Managing Your Node
Commands for both systemd and tmux methods. Use the section that matches how you set up your node.
Managing with Systemd
Check Node Status
sudo systemctl status reality-nodeShows if the service is active, running, and recent log entries
View Logs
Follow logs in real-time:
journalctl -u reality-node -fView last 100 lines:
journalctl -u reality-node -n 100View logs from today:
journalctl -u reality-node --since todayStart, Stop, and Restart
Stop the node:
sudo systemctl stop reality-nodeStart the node:
sudo systemctl start reality-nodeRestart the node:
sudo systemctl restart reality-nodeDisable Auto-Start on Boot
sudo systemctl disable reality-nodeTo re-enable: sudo systemctl enable reality-node
Managing with tmux
View Node Logs
tmux attach -t realityPress Ctrl+B, then D to detach again
Stop Your Node
tmux attach -t reality
# Press Ctrl+C to stop the nodeRestart Your Node
Attach to the session, stop the node (Ctrl+C), then run the java command again:
tmux attach -t reality
# Press Ctrl+C to stop
# Then run your java command againList All tmux Sessions
tmux lsKill a tmux Session
tmux kill-session -t realityUpdating Your Node
Update Process
1. Stop your node:
sudo systemctl stop reality-node2. Backup your keystore:
cp ~/reality-node/node.p12 ~/reality-node/node.p12.backup3. Download new JARs:
cd ~/reality-node
# Get latest version
LATEST_RELEASE=$(curl -s https://api.github.com/repos/reality-foundation/linux-server/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
echo "Latest version: $LATEST_RELEASE"
# Download new JARs
CORE_JAR=$(curl -s https://api.github.com/repos/reality-foundation/linux-server/releases/latest | grep "browser_download_url.*core-assembly.*\.jar" | cut -d '"' -f 4 | head -n 1)
KEYTOOL_JAR=$(curl -s https://api.github.com/repos/reality-foundation/linux-server/releases/latest | grep "browser_download_url.*keytool-assembly.*\.jar" | cut -d '"' -f 4 | head -n 1)
WALLET_JAR=$(curl -s https://api.github.com/repos/reality-foundation/linux-server/releases/latest | grep "browser_download_url.*wallet-assembly.*\.jar" | cut -d '"' -f 4 | head -n 1)
wget $CORE_JAR
wget $KEYTOOL_JAR
wget $WALLET_JAR4. Start your node:
sudo systemctl start reality-node5. Verify it's running:
sudo systemctl status reality-nodeSecurity & Backups
Backup Your Keystore
# Copy to a safe location
scp root@YOUR_SERVER_IP:~/reality-node/node.p12 ~/backups/
# Or download via SFTP using FileZilla, WinSCP, etc.Keep Your System Updated
sudo apt update && sudo apt upgrade -y
sudo reboot # If kernel updates were installedRun this monthly to keep your system secure
Firewall Best Practices
Only open required ports:
sudo ufw statusShould show: 22 (SSH), 9000 (HTTP), 9001 (P2P), 9002 (CLI)
SSH Security
Consider using SSH keys instead of passwords:
- • Generate SSH key pair on your local machine
- • Copy public key to server:
ssh-copy-id user@server - • Disable password authentication in /etc/ssh/sshd_config
- • Restart SSH:
sudo systemctl restart sshd
Quick Command Reference
curl http://IP:9000/node/infojournalctl -u reality-node -fsudo systemctl restart reality-nodetmux attach -t realitydf -h