Full node parameters #
Minimum hardware requirements: AWS EC2 m5.xlarge with 4 vCPUs (3.1 GHz) and at least 3 TB TB of Amazon EBS General Purpose SSD (gp2) storage (or equivalent).
What are we going to do? #
Launch Cloud Instance #
You can either run a node on your own hardware or use a cloud provider. We would recommend choosing one of the big cloud providers, e.g. Amazon AWS.
Node Specifications #
We recommend the following or better:
m5.xlarge General Purpose Instance with 4 vCPUs (3.1 GHz), 16GB of memory, up to 10 Gbps network bandwidth, and at least 3 TB of disk space.
We would recommend going with Ubuntu Server 20.04 LTS (64-bit).
Network Settings #
Open up port 22 for SSH, as well as port 5050 for both TCP and UDP traffic.
Set up Non-Root User #
If there is already a non-root user available, you can skip this step.
# SSH into your machine
(local)$ ssh root@{VALIDATOR_IP_ADDRESS}
# Update the system
(validator)$ sudo apt-get update && sudo apt-get upgrade -y
# Create a non-root user
(validator)$ USER={USERNAME}
(validator)$ sudo mkdir -p /home/$USER/.ssh
(validator)$ sudo touch /home/$USER/.ssh/authorized_keys
(validator)$ sudo useradd -d /home/$USER $USER
(validator)$ sudo usermod -aG sudo $USER
(validator)$ sudo chown -R $USER:$USER /home/$USER/
(validator)$ sudo chmod 700 /home/$USER/.ssh
(validator)$ sudo chmod 644 /home/$USER/.ssh/authorized_keys
Make sure to paste your public SSH key into the authorized_keys file of the newly created user in order to be able to log in via SSH.
# Enable sudo without password for the user
(validator)$ sudo vi /etc/sudoers
Add the following line to the end of the file:
{USERNAME} ALL=NOPASSWD: ALL
Now close the root SSH connection to the machine and log in as your newly created user:
# Close the root SSH connection
(validator)$ exit
# Log in as new user
(local)$ ssh {USERNAME}@{VALIDATOR_IP_ADDRESS}
Install Required Tools #
You are still logged in as the new user via SSH. Now we are going to install Go and Photon.
First, install the required build tools:
# Install build-essential
(validator)$ sudo apt-get install -y build-essential
Install Go #
# Install go
(validator)$ wget https://dl.google.com/go/go1.15.10.linux-amd64.tar.gz
(validator)$ sudo tar -xvf go1.15.10.linux-amd64.tar.gz
(validator)$ sudo mv go /usr/local
Export the required Go paths:
# Export go paths
$ vi ~/.bash_aliases
# Append the following lines
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
Validate your Go installation #
Install Photon #
# Install Photon
(validator)$ git clone https://github.com/TechPay-io/go-photon.git
(validator)$ cd go-photon/
(validator)$ make
Validate your Photon installation:
$./build/photon version
VERSION:
1.0.2-rc.5