Setup Guide (On Pillar)
This setup guide is for operators looking to setup the Orchestrator binary on the same server as their Pillar. If you're looking to setup on a remote server (not on the Pillar), then please follow the following: Setup Guide (Remote).
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.
BNB and Ethereum Nodes: Access to a BNB and Ethereum node provider like Alchemy to obtain WebSocket (WSS) endpoints.
Producer Passphrase: The passphrase for your Producer Key File, retrievable via the znn-controller.
QSR Tokens: At least 120 QSR tokens fused to the Pillar Producer Address.
2) Opening Required Firewall Ports
To facilitate communication and health checks, ensure the following ports are open on your server’s firewall:
1. Port 55055 (TCP): Open for gossip communication between nodes.
2. Port 55000 (TCP): Open for API health checks.
Steps to Open Ports:
Assuming you’re using ufw (Uncomplicated Firewall) on Ubuntu:
Note: If you’re using a different firewall management tool, adjust the commands accordingly.
3) Obtaining a Binance Smart Chain and Ethereum Node from Alchemy
To interact with the Binance Smart Chain and Ethereum network, you need access to a Binance Smart Chain and Ethereum node. Alchemy provides reliable node services.
Steps to Obtain the WSS Endpoint
Sign Up/Login to Alchemy:
Visit Alchemy and create an account or log in.
Create a New App:
Navigate to the dashboard and create a new app.
Select the desired network (e.g., Mainnet, Ropsten).
Retrieve the WSS Endpoint:
Once the app is created, go to the app’s dashboard.
Locate the WebSocket endpoint URL.
Example Endpoint:
4) 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.
5) Installing the Orchestrator
This section covers downloading the Orchestrator binary, setting up the configuration file, and preparing the orchestrator for deployment.
First, download the latest Orchestrator binary. Ensure you're using the most recent release by checking the OrchestratorGitHub Releases.
Download Command:
Note: Replace the URL with the latest release if a newer version is available.
2. Extract the Orchestrator Binary
Unzip the downloaded file:
3. Setup the Config.json File
Move the Binary and Create the Configuration Directory
Copy the Binary to
/usr/local/bin/
:Run the Orchestrator Binary to Initialize:
Expected Outcome: The process will fail initially but will create a working directory at
/root/.orchestrator/
.
4. Configure the Config.json File
Edit the config.json
file to suit your environment:
Configuration Steps:
Update WebSocket URLs:
BNB: Replace with your Alchemy BNB WSS endpoint.
Ethereum: Replace with your Alchemy Ethereum WSS endpoint.
Provide Producer Key File Passphrase:
Retrieve by running the
znn-controller
and selecting the 2)Status
option.
Maintain Unique
EvmAddress
:Do not change or remove the
EvmAddress
once created.
Add Bootstrap Address:
Sample
config.json
Structure:
5. Copy the Producer File
Assuming you are running the Orchestrator on the pillar, copy the producer file to the Orchestrator's data path:
Note: Ensure the path to the producer file is correct. Adjust the command if your producer file is located elsewhere.
6) Setting Up Orchestrator as a Service
To ensure that the Orchestrator runs continuously and starts on boot, set it up as a systemd service.
1. Create a systemd Service File
Open a new service file for the Orchestrator:
2. Add Service Configuration
Copy and paste the following content into the service file:
3. Activate and Start the Orchestrator Service
Reload systemd to recognize the new service:
Enable the service to start on boot:
Start the Orchestrator service:
4. Verify the Orchestrator Service Status
Check if the Orchestrator service is running correctly:
Expected Output:
Note: The Active: active (running)
status indicates that the service is running correctly.
7) Fusing QSR Tokens
To fully deploy your Orchestrator with the Zenon Network, ensure that you have fused at least 120 QSR tokens to the Pillar Producer Address.
Steps to Fuse QSR Tokens
Access Your Pillar Producer Address:
Use your Syrius wallet or another compatible wallet to access your producer address.
Fuse QSR Tokens:
Follow the wallet's instructions to fuse QSR tokens.
Ensure you have at least 120 QSR fused to meet the network's requirements.
8) Useful Commands
Last updated