Skip to main content

Introduction

Keep your Fenine node updated to benefit from performance improvements, security patches, and new features. This guide covers safe upgrade procedures.
Always backup your node before upgrading. See Backup & Recovery guide.

Before You Upgrade

Check Current Version

Output example:

Review Release Notes

Check the GitHub releases page for:
  • New features
  • Breaking changes
  • Database migrations
  • Configuration updates
  • Known issues
Subscribe to releases on GitHub to get notifications about new versions.

Determine Upgrade Type

Hardfork upgrades are mandatory and must be completed before the activation block height. Missing a hardfork will cause your node to reject new blocks.

Upgrade Procedures

For patch and minor version upgrades:

1. Download New Version

2. Backup Current Binary

3. Stop Node

4. Install New Binary

5. Verify Installation

6. Start Node

7. Verify Sync

Expected: {"result": false} (fully synced)

Zero-Downtime Upgrade (Advanced)

For production RPC services, use multiple nodes:

Setup

  1. Load Balancer: nginx or HAProxy distributing traffic
  2. Node Pool: 2+ nodes behind load balancer

Rolling Upgrade

Automated Upgrade Monitoring

Create /usr/local/bin/check-upgrade.sh:
Add to cron:

Upgrade Checklist

1

Pre-Upgrade

  • Read release notes
  • Backup node data
  • Backup configuration files
  • Verify disk space (30GB+ free)
  • Schedule maintenance window
  • Notify users (if public RPC)
2

Upgrade

  • Download new binary
  • Verify checksum
  • Stop node service
  • Replace binary
  • Update configuration (if needed)
  • Start node service
3

Post-Upgrade

  • Verify version number
  • Check sync status
  • Monitor logs for errors
  • Verify peer connections
  • Test RPC endpoints
  • Monitor for 30 minutes
  • Document upgrade results
4

Cleanup

  • Remove old backups (older than 30 days)
  • Clean up /tmp files
  • Update monitoring dashboards
  • Notify users upgrade complete

Common Upgrade Issues

Symptoms: Service fails to start, immediate exitCauses:
  • Incompatible configuration
  • Missing permissions
  • Database corruption
Solutions:
Symptoms: Block height not increasingSolutions:
Symptoms: OOM kills, swap usageSolutions:
Symptoms: Migration script errorsSolutions:

Support Resources

Release Notes

View all version changes

Discord #node-operators

Get upgrade help

Troubleshooting

Fix common issues

Backup Guide

Protect your data
Upgrade Strategy:
  • Testnet first: Always test on testnet before mainnet
  • Off-peak hours: Upgrade during low traffic
  • Staged rollout: For multiple nodes, upgrade one at a time
  • Monitor closely: Watch for 30+ minutes post-upgrade