Migration Guide
Table of Contents
It's recommend leaving your existing Pillar online during the migration if it's still producing momentums. The migration is seemless, the only difference between the Setup Guide and this Migration Guide, is that you will copy your new Pillar's producer address and update it in your syrius wallet for the Pillar's reward address. Details are provided in Step 9) Update Producer Address.
1) Prerequisites
Before proceeding, ensure you have the following:
Basic Knowledge: Familiarity with command-line interfaces and server management.
Access Credentials: SSH access to your chosen server with sudo privileges.
2) Choosing a Hosting Provider
Selecting a reliable hosting provider is crucial for the stability and performance of your Zenon Pillar. Consider the following factors when choosing a provider:
Reliability and Uptime: Ensure the provider offers high uptime guarantees (99.9% or higher).
Performance: Look for providers with robust CPU and RAM options to handle blockchain operations.
Scalability: Ability to upgrade resources as your node grows.
Security: Features like DDoS protection, firewalls, and regular backups.
Support: 24/7 customer support can be invaluable.
Cost: Balance between features and your budget.
Popular Hosting Providers:
DigitalOcean
Amazon Web Services (AWS)
Hetzner
Google Cloud Platform (GCP)
Microsoft Azure
Vultr
Linode
Choose a provider that best fits your requirements and budget.
3) Minimum Hardware Requirements
To ensure optimal performance and stability of your Zenon Pillar, your server should meet the following minimum hardware specifications:
CPU
≥ 4 cores (ideally 8 CPU for the initial sync)
RAM
≥ 4 GB (ideally 16 GB for the initial sync)
Storage
≥ 40 GB free space
Network
Dedicated bandwidth with speeds exceeding 100 Mbps
4) Choosing the Operating System
For optimal performance and compatibility with the Zenon controller, it is recommended to use a Linux distribution. The x86/64 znn_controller-linux
release is compatible with several distros, including:
Ubuntu 22.04 LTS (Recommended)
Debian 11
CentOS 8
Fedora 36
5) Server Setup and Configuration
Accessing the Server
Obtain SSH Credentials: After setting up your server with your chosen provider, retrieve the SSH IP address, username, and password/key.
Connect via SSH:
Replace
username
with your server's username (commonlyroot
) andyour_server_ip
with your server's IP address.Switch to Root User:
This command grants you root privileges for the installation process.
Updating the System
Ensure your server's package lists and installed packages are up to date by running the command individually:
apt update
: Updates the package index.apt upgrade -y
: Upgrades all installed packages to their latest versions.
Installing Required Packages
Install unzip
and other necessary utilities:
unzip
: Required for extracting the Zenon controller ZIP file.wget
: Facilitates downloading files from the internet.
6) Installing the Zenon Controller
Download the Zenon Controller: Execute the following command to download and extract the Zenon controller:
Visit the official Zenon Network Github repository for the latest
znn_controller_dart
release: https://github.com/zenon-network/znn_controller_dart/releaseswget -O
: Downloads the file and saves it with the specified name.unzip -o
: Extracts the ZIP file, overwriting existing files if necessary.rm
: Removes the ZIP file after extraction to save space.
Verify Installation:
Ensure the
znn-controller
executable is present:You should see the
znn-controller
file listed.
7) Configuring Automatic Restarts with Cron
For the initial sync of your Zenon Pillar, it's recommended to configure automatic restarts. This ensures that the controller restarts hourly, speeding up the sync process.
Open Crontab Editor:
Add Cron Job:
Press
i
to enter insert mode.Navigate to the end of the file.
Add the following line to schedule a restart every hour:
Save and Exit:
Press
Esc
to exit insert mode.Type
:wq
and pressEnter
to save and quit.
Once your Pillar catches up to the latest height, disable the automatic restart cron by commenting out the line: # 0 * * * * /usr/bin/sudo /usr/sbin/service go-zenon restart
8) Deploying the Pillar
Start the Zenon Controller:
Deployment Options:
Upon running the controller, you will be presented with deployment options. To deploy your pillar:
Select option
1) Deploy
Monitoring Synchronization: The controller will begin syncing to the latest block height of the Zenon network. This process may take some time (even days) depending on network conditions and server performance. To monitor the status of your sync:
Select option
2) Status
And compare it to the latest height in your syrius wallet, or trusted Zenon Network explorers: https://www.zenonhub.io https://explorer.zenon.org https://www.zenon.tools
9) Update Producer Address
Once and ONLY once your new Pillar has synced up to the latest height, should you proceed with this step of the migration. If you update your producer address prior to a full sync, you will miss rewards as your Pillar will not be participating in the network until it's fully caught up. Therefore if your new Pillar reached the latest height:
Open Your syrius Desktop Wallet
Select the address of the Pillar you're migrating.
Click on Pillars in the navigation bar.
For the Pillar producer address field, paste the new Pillar's Producer Address, and press Next and Update until it saves the new address. Steps to get your new Pillar's Address are written below.
Start the Zenon Controller:
Deployment Options:
Upon running the controller, you will be presented with deployment options. To deploy your pillar:
Select option
2) Status
Copy Producer Address Use this new Pillar Producer Address to update in the syrius wallet.
10) Post-Deployment Steps
After your pillar has successfully synced to the latest height and you've updated your Pillar's Producer Address in your syrius wallet, it's crucial to remove the cron job so that the Pillar doesn't miss momentums unnecessarily:
Comment Out the Cron Job:
Prevent the automatic restart to avoid interrupting the controller's operation.
Re-open Crontab Editor:
Locate the Cron Job:
Add a
#
at the Beginning:This comments out the line, disabling the scheduled restart.
Save and Exit:
Press
Esc
to exit insert mode.Type
:wq
and pressEnter
to save and quit.
Shut down old Pillar on old Hosting Provider: Once the above steps have been completed, you can shut down your server which hosted your old Pillar. It is recommended that you delete the server only after you've successfully collected your Pillar rewards in the syrius wallet (using the new Pillar's Producer Address). You can wait until the next reward distribution for this (the next day, depending at which hour of the day you've migrated).
11) Useful Commands
Watch the Pillar's logs in real-time:
Verify the Sync / Height Status:
Replace the PRIVATE-IP
with your Pillar's Private IP address:
You will receive a response:
When the state goes from 1
to 2
, then your Pillar is fully synced.
Last updated