How To Setup Your PHANTOM Node

Welcome, the purpose of this document is to help you setup a full PHANTOM relay or delegate node. This will guide you step by step and get you up and running relaying transactions and securing the PHANTOM Network.

Minimum Requirements

NOT SUITABLE FOR USE AS A DELEGATE NODE

  • 1 Dedicated CPU Core
  • 4GB Ram
  • Linux
  • 20GB Free HD Space
  • 2 CPU Cores+
  • 8GB Ram+
  • Ubuntu 16.04
  • 40GB+ SSD

Prerequisite Setup

Create a Linux Server

We recommend using the cloud provider you are most comfortable with. Running an PHANTOM Node is not like Bitcoin mining and thus there are more options to choose from. AWS, Linode, Digital Ocean, Vultr, Microsoft Azure, and OVH are just a few recommended choices.

When choosing the size of VM please consider using a higher quality server when running a delegate nodes. These nodes are the security of our network and their uptime is of most importance in making sure the network runs smoothly.

The recommended specifications are what we would consider the minimum specifications for delegate nodes. Smaller nodes are fine for relays or development purposes. We recommend using Ubuntu 16.04 however you are free to use any version of Linux you're comfortable with. These guides will use debian flavored Linux variants though.

With each provider, the setup process for creating a new virtual server is going to be different. If choosing one of the listed providers, we have created quick links below to quickly get started.

Connect to Your Server

After creating a server we need to connect to it. Your provider should have given you an ip address, username, and password to connect to your new server.

This information can usually be found somewhere in your providers dashboard for your new server.

ssh information

Depending on your operating system you will connect to your server in different ways. Window users will want to use something like PuTTy.

Windows Users

Open PuTTy and place the ip address given to you by your provider in the Host Name field as shown below. You should probably save this host so you don't have to enter it every time.

PuTTy Login

MacOS / Linux

Open up a new terminal window and type in the following to connect to your new server via SSH

ssh user@ipaddress

When first connecting to your new server you will be asked to cache the servers host key and validate the rsa fingerprint, say or click yes.

ssh information

When prompted use the password given to you by your cloud provider. Some providers will require you to setup a a root password when creating the VM, while others may give you a temporary password.

root_login

Setup a User

Loging into our node and leaving root access open is not good security so we're going to take care of that now.

On your server type the following into the command line and press enter. Where phantom is the name you want to login with:

adduser phantom

You will be prompted to enter in the users full name and some other information. Feel free to just leave them all blank as they are optional. When prompted type Y and press enter.

add_user

Giving our User Sudo Privileges

Next we need to make sure that our user can do all the things it needs to do. Type the command below into your command line and press enter. Where phantom is the name of the new account you created. This will give our user sudo privileges.

This will allow you to run programs with the security privileges of another user. By default this is a superuser.

usermod -a -G sudo phantom

Installing your PHANTOM Node

We're now ready to begin installing PHANTOM. The initial install may take awhile and at times appear to not be doing anything. Please have patience and let the process finish.

Download PHANTOM Commander

git clone https://github.com/PhantomChain/core-commander
cd core-commander

Run PHANTOM Commander

Now we'll run the file we just downloaded and begin our PHANTOM Node installation.

bash PHANTOMcommander.sh

Sudo Password

PHANTOM Commander is then going to ask you for your sudo password. This is the password you used to login to the user account with. Enter your password and press enter.

System Updates and Prerequisites

The first time you run PHANTOM Commander it is going to update your system and make sure you have the latest updates to required dependencies.

phantom_commander_login

Reboot System

Once updates and prerequisites installation has finished reboot your system by typing the following command and pressing enter.

reboot warning

sudo reboot

You will be disconnected from your server once again. Let's go ahead and reconnect using our user we created.

ssh phantom@ipaddress

Run PHANTOM Commander

After reconnecting to the server go ahead and run PHANTOM Commander

cd core-commander
bash PHANTOMcommander.sh

Install PHANTOM Node

Select option 1 to install PHNATOM Node. Again, don't interrupt this process as it will take a few minutes to install the required packages.

phantom node installation

Setting up a Delegate Node

After PHANTOM Node installs you will be asked if you want to setup your secret key. If you're just setting up a relay node, or not ready to setup your delegate node at this time select N. Otherwise select Y and enter your delegate node secret key now.

setup secret

Checking to See if Everything is Working

If everything went as planned we should now be able to choose the L option from the menu and see the transmission of block data across our node.

If you see New block received in your log congratulations, you now have a working PHANTOM node. If not, you may need to wait a couple minutes as the last few blocks sync that were not in the latest snapshot.

If you need to go back and setup your delegate node you can do so by using option 5 in the Main Menu.

What's Next?

Great! you have a working node, but now you should really think about securing it. It is especially important if you plan on using this as your delegate node.

In our next section we'll discuss making sure your PHANTOM node is as secure as possible. As the PHANTOM network grows, hacking attempts on delegate and relay nodes will become more prevalent. Defending against DDOS and other various attacks is extremely important in securing the network.

Last Updated: 1/4/2019, 5:36:55 AM