Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Page Tree
expandCollapseAlltrue
rootSecure and Super Nodes
startDepth0


Panel
borderColorgrey
bgColorwhite
titleColorblack
borderWidth1
titleBGColorwhite
borderStylesolid
titleLanguages


Introduction

This guide is intended for someone who is looking to setup a Horizen Secure/Horizen Super Node. A Secure/ Super Node is intended to be installed on a Virtual Private Server (VPS), Virtual Machine (VM), or standalone server hardware with a 64-bit architecture. Setup will be performed from a command line interface or CLI. On Windows 7 64-bit and newer, this will most commonly be PuTTY, and Terminal on Mac OS and Linux.


It is expected from node operators that they are not just able to follow this guide to completion to run a node, but to keep up with regular security updates and Horizen software updates. Updates are made on a quarterly basis with some periodic interim updates to improve the security, features, performance and reliability of the network. Requirements will not stay static. An operator should also be able to perform system migration and to perform upgrades to support increasing requirements (such as available disk space IE).

If you're unfamiliar with Linux system administration, we recommend that you use one of our many hosting providers. The Horizen blockchain rewards node operators with a percentage of the block reward to run and maintain a quality, fast and reliable node.


The format of the guide is deliberately column-based providing a description on the left, alongside each of the steps, to clarify the exact purpose. A more experienced user may prefer to simply follow the commands in the right column. The guide supports a simple double-click copy and paste of each command into a terminal.


Where applicable, these images will be displayed to indicate if a particular step or page in the guide is specific to one or more operating system. If none are present, the steps apply universally.

           

Mac OS       Linux         Windows          

Toggle the sidebar on the left << with the [ key

For the best experience with the guide, maximize your window screen such that you do not have any horizontal scroll bar


DO NOT INSTALL AND RUN A SECURE/ SUPER NODE UNDER THE ROOT USER. The guide details how to add a non-root user, under which the necessary processes will run.

VPS configurations using OpenVZ are not supported.

Secure Nodes

NOTE: Our previous guidance advised to use a 4GB RAM VPS server with 2GB of swap on an SSD under Zen 2001150. Under Zen 2001450 these requirements have been reduced. We now recommend configurations with 2GB RAM and 2GB of swap on an SSD

.

 

The recommended total memory allocation is 4GB (RAM + swap). CPUs of an x86-64 Intel Haswell architecture (or AMD equivalent) and newer have been performing well. At this time, due to the size of the blockchain, the minimum storage requirement is 50GB.

We recommend 60GB (08/26/2020) or larger to allow room for blockchain growth. The storage minimum requirements and recommendations will be periodically increased as the size of the blockchain increases.

Super Nodes

NOTE: Storage allocation of 100GB is likely to change to free disk space when the full Super Node solution is implemented.

CPU must be based on x86-64 and be on the Intel Broadwell (and newer) or the AMD Excavator (and newer) architectures. Must have flags +bmi2 +adx. Updated since upgrade to ZEND 2.0.24.

The total memory allocation required is 8GB+ of RAM (Not including swap). x86-64 Intel Haswell architecture (or AMD equivalent) CPUs and newer are recommended to meet performance requirements. Super Nodes must have at least 100GB of storage allocated to them.


Community Lists

See the Community VPS List for a list of VPS services our community uses with great success.

  • This list is updated as often as possible and does not reflect the full array of possible services that can be used for a Horizen Secure/Horizen Super Node

If you're uncomfortable with performing the setup and maintenance needed for a Secure/ Super Node, you may prefer to reference the Community Hosting and Setup List for Super Nodes and Forger Nodes for a list of node services offered by our community.

  • This list is updated as often as possible and does not reflect the full array of possible services that can be used for a Horizen Secure/Horizen Super Node

Node Operator Requirements

Further details regarding the Secure/ Super Node criteria and reward eligibility are available on the following pages:



DescriptionCommand
1

Domain Name Registration & Propagation

A domain name registration (DNS record) is required for a Secure/ Super Node. This must point to the external IP address of the Secure/ Super Node. The value used for your DNS record is referred to as your Fully-Qualified Domain Name (FQDN). It will have a format along the lines of >> myhost.mydomain.com

Before you begin configuration of your Secure/ Super Node, verify your domain name has fully propagated. You can check this at "what is my dns?". If you're using an ipv4 public address, you have an "A" record, if you're using an ipv6 address, you have an "AAAA" record. Enter your FQDN into the search engine with your appropriate DNS record and search. If your FQDN has fully propagated, all the servers in the listing will have a green  check mark.

For Super Nodes, both an A and AAAA record must be created for your DNS that resolves to your node's IPv4 and IPv6 addresses

NOTE: Many VPS providers do not pre-configure IPv6, you must follow your providers instructions on setting up this connection. Once configured properly and added to your DNS with a AAAA record resolving to the same FQDN as the IPv4 address, you can verify proper connectivity with the commands listed below

Widget Connector
width640
urlhttps://www.youtube.com/watch?v=zhZlX5lwths
height360

2

Verify that you can reach your node (using the domain name) from your local machine. Replace the example (myhost.mydomain.com) in the command with your own FQDN.


  • Mac OS - use Terminal (press <CMD> + <SPACE> and type terminal, followed by <Enter>)
  • Linux - open the Terminal application (exact steps differ per distribution)

Ping IPv4

Code Block
ping -c 3 myhost.mydomain.com

Ping IPv6

Code Block
ping6 -c 3 myhost.mydomain.com


Panel
borderColorgrey
bgColorblack
titleColorwhite
borderWidth2
titleBGColorgrey
borderStylesolid
titleTerminal

satoshi@goldwasser:~$ ping -c 3 node01.zentest.win
PING node01.zentest.win (123.123.123.123) 56(84) bytes of data.
64 bytes from 123.ip-123-123-42.net (123.123.123.123): icmp_seq=1 ttl=52 time=27.5 ms
64 bytes from 123.ip-123-123-42.net (123.123.123.123): icmp_seq=2 ttl=52 time=27.6 ms
64 bytes from 123.ip-123-123-42.net (123.123.123.123): icmp_seq=3 ttl=52 time=27.7 ms

--- node01.zentest.win ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 82.8ms
rtt min/avg/max/mdev = 27.590/27.660/27.723/0.043 ms


3

Verify that you can reach your node (using the domain name) from your local machine. Replace the example (myhost.mydomain.com) in the command with your own FQDN.

  • Open a command prompt (press <WinKey> + <r> and type cmd, followed by <Enter>)

Ping IPv4

Code Block
ping -n 3 myhost.mydomain.com -4

Ping IPv6

Code Block
ping -n 3 myhost.mydomain.com -6


Panel
borderColorgrey
bgColorblack
titleColorwhite
borderWidth2
titleBGColorgrey
borderStylesolid
titleC:\WINDOWS\system32\cmd.exe

C:\Users\turing>ping -n 3 node01.zentest.win -4

Pinging node01.zentest.win [123.123.123.123] with 32 bytes of data:
Reply from 123.123.123.123: bytes=32 time=181ms TTL=52
Reply from 123.123.123.123: bytes=32 time=215ms TTL=52
Reply from 123.123.123.123: bytes=32 time=178ms TTL=52

Ping statistics for 123.123.123.123:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 178ms, Maximum = 226ms, Average = 200ms



Part 1 of 11 - Introduction and Domain Name Registration

Insert excerpt
Social Links
Social Links
nopaneltrue