Skip to main content

Full Node

OS requirements

We highly recommend installing MyTonCtrl using the supported operating systems:

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Debian 11

Hardware requirements

Node usage on personal local machine

You shouldn't run any type of node on your personal local machine for long, even if it is satisfy the requirements. Nodes actively use disks and can damage them fast.

With validator

  • 16 cores CPU
  • 128 GB RAM
  • 1TB NVME SSD OR Provisioned 64+k IOPS storage
  • 1 Gbit/s network connectivity
  • public IP address (fixed IP address)
  • 16 TB/month traffic on peak load
Be ready for peak loads

Typically you'll need at least a 1 Gbit/s connection to reliably accommodate peak loads (the average load is expected to be approximately 100 Mbit/s).

Port Forwarding

All types of nodes require a static external IP address, one UDP port to be forwarded for incoming connections and all outgoing connections to be open - the node uses random ports for new outgoing connections. It's necessarily for the node to be visible to the outside world over the NAT.

It can be done with your network provider or rent a server to run a node.

info

It's possible to find out which UDP port is opened from the netstat -tulpn command.

The TON Foundation recommends the following providers for running a Validator:

Cloud ProviderInstance TypeCPURAMStorageNetworkPublic IPTraffic
GCPn2-standard-1632 vCPUs128GB1TB NVMe SSD16 GbpsReserve a static external IP16 TB/month
Alibaba Cloudecs.g6.4xlarge32 vCPUs128GB1TB NVMe SSDUp to 10 GbpsBind an Elastic IP16 TB/month
Tencent CloudM5.4XLARGE32 vCPUs128GB1TB NVMe SSDUp to 10 GbpsAssociate an Elastic IP16 TB/month
Vultrbare metal Intel E-2388G16 Cores / 32 Threads128GB1.92TB NVMe SSD10 GbpsFixed IP address included with instance16 TB/month
DigitalOceangeneral purpose premium Intel32 vCPUs128GB1TB NVMe SSD10 GbpsFixed IP address included with instance16 TB/month
Latitudec3.medium.x8616 Cores / 32 Threads128GB1.9TB NVMe SSD10 GbpsFixed IP address included with instance16 TB/month
AWSi4i.4xlarge16 vCPUs128GB1 x 3,750 AWS Nitro SSD (fixed)Up to 25 GbpsBind an Elastic IP16 TB/month
info

Note: Prices, configurations, and availability may vary. It is advisable to always check the official documentation and pricing pages of the respective cloud provider before making any decisions.

Run a Node (video)

Please, check this video step-by-step tutorial to start promptly:

Run a Node (text)

Switch to non-root user

If you don't have non-root user, you can create this with the following steps (otherwise skip first two steps and go to the third).

  1. Login as root and create new user:
sudo adduser <username>
  1. Add your user to the sudo group:
sudo usermod -aG sudo <username>
  1. Log into the new user (if you are using ssh, you will need to stop current session and reconnect with correct user)
ssh <username>@<server-ip-address>

Install the MyTonCtrl

Download and run the installation script from the non-root user account with sudo privileges:

wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
sudo bash install.sh -d
  • -d - mytonctrl will download a dump of the latest blockchain state. This will reduce synchronization time by several times.
  • -c <path> - If you want to use not public liteservers for synchronization. (not required)
  • -i - Ignore minimum requirements, use it only if you want to check compilation process without real node usage.
  • -m - Mode, can be validator or liteserver,

Run the mytonctrl

  1. Run MyTonCtrl console from the local user account used for installation:

    mytonctrl
  2. Check the MyTonCtrl status using the status command:

    status

The following statuses should be displayed:

  • mytoncore status: Should be in green.
  • local validator status: Should also be in green.
  • local validator out of sync: Initially, a n/a string is displayed. As soon as the newly created validator connects with other validators, the number will be around 250k. As synchronization progresses, this number decreases. When it falls below 20, the validator is synchronized.

Example of the status command output:

status

Make sure you have same output for status

For all nodes type Local Validator status section should appear. Otherwise, check troubleshooting section and check node logs.

Wait until Local validator out of sync becomes less than 20 seconds.

Uninstall mytonctrl

Download script and run it:

sudo bash /usr/src/mytonctrl/uninstall.sh

Check mytonctrl owner

Run:

ls -lh /var/ton-work/keys/

Tips & Tricks

List of available commands

  • You can use help to get a list of available commands:

Help command

Check the mytonctrl logs

  • To check mytonctrl logs, open ~/.local/share/mytoncore/mytoncore.log for a local user or /usr/local/bin/mytoncore/mytoncore.log for Root.

logs

Check the node logs

Check the node logs upon failure:

tail -f /var/ton-work/log.thread*