How to upgrade ChainLaunch to a new version without downtime for your blockchain networks.
Upgrading to v0.4.0? This release adds the Fabric-X subsystem. The change is purely additive — there are no breaking changes, no schema migrations beyond the auto-applied ones, and existing Fabric and Besu networks are unaffected. See the release notes for what's new.
Before You Upgrade
- Read the release notes for breaking changes
- Back up your database and data directory
- Back up your blockchain data using Backups
# Back up the database
cp /var/lib/chainlaunch/chainlaunch.db /var/lib/chainlaunch/chainlaunch.db.bak
# Back up the data directory
tar czf chainlaunch-data-backup.tar.gz /var/lib/chainlaunch/Upgrade via Install Script
The simplest method — the install script detects the existing installation and upgrades in place:
curl -fsSL https://chainlaunch.dev/deploy.sh | bashThis will:
- Detect the running ChainLaunch version
- Download the latest binary
- Replace the old binary
- Restart the service (if running as systemd)
Upgrade Manually
Step 1: Download the New Binary
export CHAINLAUNCH_VERSION=$(curl -s https://api.github.com/repos/LF-Decentralized-Trust-labs/chaindeploy/releases/latest | grep tag_name | cut -d '"' -f 4)
# Linux
curl -L -o chainlaunch "https://github.com/LF-Decentralized-Trust-labs/chaindeploy/releases/download/${CHAINLAUNCH_VERSION}/chainlaunch-linux-amd64"
chmod +x chainlaunch
# macOS (Apple Silicon)
curl -L -o chainlaunch "https://github.com/LF-Decentralized-Trust-labs/chaindeploy/releases/download/${CHAINLAUNCH_VERSION}/chainlaunch-darwin-arm64"
chmod +x chainlaunchStep 2: Stop ChainLaunch
sudo systemctl stop chainlaunch
# Or if running manually: kill the processYour blockchain nodes (Docker containers) continue running — stopping ChainLaunch only stops the management plane.
Step 3: Replace the Binary
sudo mv chainlaunch /usr/local/bin/chainlaunchStep 4: Start ChainLaunch
sudo systemctl start chainlaunchStep 5: Verify
chainlaunch version
# Should show the new version
curl http://localhost:8100/api/v1/health
# Should return healthyDatabase Migrations
ChainLaunch runs database migrations automatically on startup. If a new version includes schema changes, they are applied when the service starts.
If you need to run migrations manually:
chainlaunch migrate --db=/var/lib/chainlaunch/chainlaunch.dbRollback
If something goes wrong:
# Stop ChainLaunch
sudo systemctl stop chainlaunch
# Restore the old binary (keep a copy before upgrading)
sudo cp /usr/local/bin/chainlaunch.bak /usr/local/bin/chainlaunch
# Restore the database backup
cp /var/lib/chainlaunch/chainlaunch.db.bak /var/lib/chainlaunch/chainlaunch.db
# Start ChainLaunch
sudo systemctl start chainlaunchUpgrading ChainLaunch Pro
For Pro installations, use the built-in updater:
# Latest release
GITHUB_TOKEN=ghp_... chainlaunch update
# Specific tag
GITHUB_TOKEN=ghp_... chainlaunch update --tag v1.4.2The command downloads the matching Pro binary from the private releases repo and installs it into $HOME/.chainlaunch-pro (override with --install-dir).
Version Compatibility
| ChainLaunch | Fabric | Besu | Go |
|---|---|---|---|
| 0.x | 2.5.x | 24.x | 1.23 |
ChainLaunch is backwards-compatible with networks created by older versions. You do not need to recreate your networks after upgrading.
Next Steps
- Backups to set up automated backups before upgrading
- Troubleshooting if you encounter issues after upgrading