Attention: This section is big chaos and WIP more then anything else...
This happens if your new node cannot connect to any DHT server defined in global configuration of your network. It basically means that either your node has no access to internet or the network you are trying to connect to experiences problems.
[TODO]
Very common error to see in logs, [TODO]: describe what exactly happens here.
echo "##HEX##" | xxd -r -p | openssl base64
Example:
echo "0DF90396788B6CEC38585A980DD346A0FD5122710338B0B014A94059D0B08CB6" | xxd -r -p | openssl base64
Result: DfkDlniLbOw4WFqYDdNGoP1RInEDOLCwFKlAWdCwjLY=
echo "##BASE64##" | openssl base64 -d | xxd -p -u -c 34
Example:
echo "DfkDlniLbOw4WFqYDdNGoP1RInEDOLCwFKlAWdCwjLY=" | openssl base64 -d | xxd -p -u -c 34
Result: 0DF90396788B6CEC38585A980DD346A0FD5122710338B0B014A94059D0B08CB6
Data / work directories should be located on very fast disks (NVMe SSDs), but the space on such drives is expensive, luckily there are several large directories you can safely offload to slower spinner drives:
- nodeWorkDir/log
- nodeWorkDir/db/archive
- Fixed IP Address: Either directly on the net or via NAT in 1:1 mapping. It is also possible to implement port forwarting NAT in this case you can share one fixed IP with other hosts as long as all incoming connections to chosen UDP port are forwarted to your Node. Please consult your Firewall documentation on how to setup this.
TON node traffic is close to symmetric, so you will have bandwidth usage in both up and downlink. If you have 1gbps down and 100mbps up line it will more or less handicap you at 100mbps.
On testnet2
it was quite common to see bandwidth usage of 120mbps (up and down, so 240mbps total) during day-to-day operations and spikes of up to 800mbps.
In order to find out your node's public IP Address from CLI do:
host myip.opendns.com resolver1.opendns.com
You can public IP Address of your node by editting edit your local configuration file and adjusting value of addrs[].ip field.
Attention: This field uses decimal format to represent IP address, you can use ip2dec.sh shell script to convert IPV4 format into decimal number. There is also a dec2ip.sh script to convert decimal into IPV4.
TODO: Will change of IP cause problems with availability of validator? Must find out.
You can public port of your node by editting edit your local configuration file and adjusting value of addrs[].port field.
TODO: Will change of port cause problems with availability of validator? Must find out.
I highly advise to take security seriously on PoS validator nodes, it would be very advisable to start doing this even on testnet, it is much more difficult to harden instances then to start them hardened in the first place.
This means:
-
Place your validator behind firewall (remember, all what TON node needs are incoming UDP connections on some preselected ports, all other connections should be denied).
-
Run your validator node in a container or dedicated FreeBSD jail
-
Run your validator process under non-priveledged user, it does not require root!
-
Outgoing UDP connections to all
-
Incoming UDP connections to port(s) chosen as node ports