Setup Guide
Table of Contents
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) Post-Deployment Steps
After your pillar has successfully synced to the latest height, 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.
10) 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