Installing Ether-1 Nodes with Unit

Unit is a node management solution from https://unit.cryon.io/#/

Introduction

Unit is a virtualization based node management solution which supports several different node projects as well as running generic Docker images and even VMs from other providers. This allows you to take advantage of the full capacity of your VPS or physical server. Unit and its remote management application called Frontier go hand-in-hand to bring node management to the masses.

Unit itself is a command line (CLI) utility which is installed directly on the Linux based VPS or the physical server that will run the Ether-1 nodes. Unit has its own set of native commands to install, manage and monitor your nodes right from the CLI. You can look up the commands here: https://github.com/cryon-io/unit.

This guide focuses on using Frontier to connect to your Unit-enabled VPS or physical server. Frontier is a graphical user interface (GUI) management utility for Unit. Frontier allows you to manage nodes on your Linux based servers without having to know any CLI commands. You can run Frontier on a remote computer or even on the server itself as long as it has a GUI installed and you have console access.

Unit has the ability to auto-update your Ether-1 nodes, auto heal them in case the geth or ethoFS services crash and greatly increase the speed with which you can deploy and manage Ether-1 nodes.

Unit Frontier

Prerequisites

General Considerations

Running Unit has some prerequisites. Running multiple nodes has some considerations as well to ensure you have a good experience.

  • You must run Unit on a fairly new Linux based Operating System (OS) with a recent kernel version. It will not run on cut rate providers. Some OpenVZ based providers for example run a very old kernel version which blocks your ability to use Unit.

  • You must comply with all Ether-1 node hardware requirements. You also must take into account the additional requirements of each virtual node when considering the capacity of your VPS or physical server. If you overload your VPS or physical server, your node software will crash, you may not receive all due rewards and the node network may suffer due to your node's inability to be a fully responsive participant.

  • Just like with any server on the internet, with Ether-1 nodes it's expected your public IP address will not change. Renting a VPS server or physical server with statically assigned public IP addresses is highly recommended. Users who want to run a node from home should be aware that each time your IP address changes, you will need to re-setup your server. Your Ether-1 nodes will use a fairly large amount of data; if you're running them from home, make sure your ISP will not suspend you for this reason.

Ether-1 Node Hardware Requirements

Public IP Addresses

There are 2 ways to host a server on the internet. You can connect a server right to the ISP in which case the server gets its own public IP address. You can also use your own router or firewall in which case the router/firewall device has your public IP address(es) and behind it you have computers and VMs which all have private IP address that look like: 10.0.0.0, 172.16.0.0, 192.168.0.0. The technology which allows all your local devices to share the same public IP address is called NAT (Network Address Translation).

The Ether-1 node system cares about your public IP address. You will have to use you public IP if you use NAT for your Ether-1 node. Using NAT requires you to manually map the publicly required ports for Ether-1 service to your server's private IP. If you need help configuring NAT, go ahead and hop on the project's Discord server for assistance and general advice about NAT in the #nodes channel.

If you have multiple public IP addresses on your server, you will need to make sure these are all assigned to your OS. Unit is unable to use IP addresses which are not known to the base Linux OS. The secondary IP addresses can be added to your primary network interface, which will have a your primary IP address already assigned. If you need more help with this step, we invite you to hop on over to the project's Discord and ask for help in the #nodes channel.

Service Ports

Regardless of how many public IP addresses you have assigned to your server or are currently NAT translating on your router, you need to make sure the required TCP and UDP ports are open which are required for the operation of Ether-1 services. The following ports are required for the proper operation of Ether-1 services

Ether-1 Geth Ports

These ports are required for the proper operation of the Ether-1 blockchain.

tcp/udp/30305

ethoFS Ports for Masternodes and Service Nodes

These ports are required for the proper operation of inter-ethoFS communication and synchronization.

tcp/4001
tcp/5001

ethoFS Ports for Gateway Nodes

These ports are required for the end-to-end operation of ethoFS including content serving to end users.

tcp/80
tcp/4001
tcp/5001

If you're unsure whether the ports are in use, you can check using the following commands. All should return nothing back, indicating the ports are not in use anywhere on your server

sudo lsof -i tcp:80 -s tcp:listen
sudo lsof -i tcp:4001 -s tcp:listen
sudo lsof -i tcp:5001 -s tcp:listen
sudo lsof -i tcp:30305 -s tcp:listen
sudo lsof -i udp:30305 -s udp:listen

You can host other supported nodes on unit (like Xerom nodes) as long as they do not overlap with the Ether-1 service ports on the same public IP address.

Installing Frontier

This guide will focus on using Frontier to install Unit. If you don't like to use Frontier, you can use the information provided and run the equivalent commands documented over at https://github.com/cryon-io/unit.

Frontier is installed on the computer which will manage the Ether-1 node hosting server you rent on the internet or NAT through at your home or business.

  1. If you're using Windows simply run the Frontier executable. If you're using Linux, make the dowunloaded file executable and double-click it.

  2. Once you open Frontier, you will create an account and log into it. This account is only stored locally and is specifically for storing your account info and application profile securely on your local computer. If you lose these credentials, you will lose access to your Frontier account; you will have to create a new account and re-add all your servers.

  3. Your Frontier profile will be stored in your home directory in a folder called unit-frontier. Make sure to save a copy in case you need to move it to a different computer or perform a restore operation.

Installing Unit using Frontier

Once you have your local Frontier account set and logged into, you're ready to manage your VPS or physical server (server) with it. You will need your VPS/server root credentials to use with Frontier. These credentials will be encrypted by Frontier and will only be used for administering and monitoring your VPS/server. All your nodes will run under their own non-administrative credentials.

  1. Log into Frontier with the credentials you established in the previous section

  2. Within Frontier, navigate to the Servers menu

  3. Select, NEW SERVER, fill in all the required info highlighted below and hit SAVE

  4. Once the server is added, you will see an icon that looks like a rocket ship to the right on the Servers menu pane. Clicking this icon will install Unit on your VPS/server.

Adding Ether-1 Nodes to Unit

Once Unit is installed on your VPS or physical server, it's time to add your Ether-1 node.

Open Frontier, log into your account, select the server you'd like to use

Unit New Node Menu

Make sure to select the right Ether-1 node type depending on how many ETHO coins you have and the size of your VPS/server.

Once added, expand the new server and take a look at the Bindings and Parameters area. This is where you will add the public IP address of your VPS/server. If you have multiple public IPs, this is where you will differentiate which Ether-1 node will get which address

Below is an example of properly configured parameters/bindings for an Ether-1 GN.

The X.X.X.X:80:8080 binding is only intended for Gateway Nodes. If you have a Masternode or Service Node, you only need the X.X.X.X:30305:30305 and 4001:4001 bindings.

OK, great, you have your Ether-1 node added! Now you have to push the configuration over to the VPS/server. You can do this by using the Push Configuration button on the top-right side of your screen, within the Server menu

Pushing the configuration overwrites the unit.json configuration file stored on the VPS/hardware server's local storage with the unit.json configuration file stored locally on the Frontier computer.

Once you push the changes to the server, it's time to Setup and then Start the node.

  1. Select Setup and wait until Frontier notifies you the process has completed

  2. Select Start

Your Ether-1 Unit nodes use the latest bootstrap available from the official project GitHub. This means they will start synchronizing from a blockheight of at least 2,700,000.

You can refresh the status of the node synchronization by clicking on the refresh button after expanding the Stats pane.

Blockheight and version

Above you can see the current blockheight of the Ether-1 Unit node as well as its current geth version. This version should match the latest available version on GitHub.

Registering Node on Dashboard

After setting up the Ether-1 node software on your Unit-enabled server, you need to verify the node and tether it to your account on the Ether-1 node website. This is to ensure that you control the collateral being used for the node, along with providing information such as node type, and IP address to the Ether-1 network.

  1. From here select the node dashboard and create an account using your E-Mail address and password.

  2. After making an account and logging into the node dashboard, you will see the following screen:

  3. This screen shows useful information, such as a map displaying the geographical location of your nodes. The table shows what nodes you have, their unique ID numbers and IP addresses. The most important section here is Node Uptime. As only when a node has > 95% up-time will it be eligible for payouts, so it's important to keep an eye on the status of your nodes to ensure everything is running properly!

  4. In order to add the node to your account, click on the Add Node button. This will take you to the following page:

  5. This page requires you to select the type of node, either Service Node or Master Node, along with the IP address of the VPS which the node software is running on. (Remember this can be found on the Vultr server page detailed earlier in the guide.)

  6. The ETHO wallet address must be the same address which holds the collateral for the node. For a Master Node, this is 15,000 coins, whereas a Service Node only requires 5,000 coins. The balance of the address can exceed the collateral requirement, but you must maintain the minimum balance in order to be eligible for payouts.

  7. You can get the address from the windows wallet by using the copy address button.

  8. After submitting this information, you will need to send a small verification transaction of 0.01 ETHO, this is to verify the balance of the wallet address and to confirm that you have ownership over the address by making a transaction from it. (At this point the 0.01 ETH0 is not recoverable.)

  9. The node should now be present in the dashboard but the node is not verified. This means the node is not eligible for payouts. To verify the node click on the details button at the end of the table.

  10. The verification address (highlighted in blue) is the address which the 0.01 ETHO must be sent to in order to verify the node.

  11. It is important NOT to send the collateral to this address, only the 0.01 ETHO verification amount, as any funds sent to the verification address are not currently recoverable.

  12. After sending the transaction, it will appear in the windows wallet. Once the transaction is confirmed by the network, copy the transaction ID from the windows wallet to the node verification page on the Ether-1 website.

  13. You can find the Transaction ID by clicking on the transaction within the windows wallet:

  14. After pasting this link into the node page, click the Add button. This will take a few seconds to verify and then you will be returned to the node dashboard.

The centralized node dashboard will be going away with the introduction of the Decentralized Node Protocol, currently being production tested on the Xerom chain.

Automating Unit Node Updates

Unit has the ability to auto update all your Ether-1 and Xerom nodes by using the settings listed below.

Unit maintenance settings

Make sure to always Push Configuration to the server after you make changes within Frontier

Adding Xerom Nodes to Unit

For every public IP & Ether-1 node on your Unit server you can have 1 Xerom node, as long as the hardware is able to handle the additional load. To install your Xerom node, simply follow along on the Xerom installation guide on Unit by using Frontier, starting at the Add Node section of the guide.

https://nodes.xerom.org/