The one place for all Turtle Network related documentation.
Document Approvals
Document Owner: @Black_Turtle on Telegram
Document Creator/Editor: @gordobtel on Telegram
Table of Contents
3. Turtle Network Node Setup – Step 1
4. Turtle Network Node Setup – Step 2
5. Turtle Network Node Upgrade
The following tutorial will show the full steps in setting-up a Linux Full Node on the Turtle Network.
Note: Knowledge about using SSH is required. All access to the VPS server is securely done via port 22 (SSH).
A Virtual Private Server (VPS) server is required with the following minimum specifications:
Details | Minimum | Recommended |
---|---|---|
Operating System: | Ubuntu 16.04 or 18.04 | Ubuntu 20.04 or 22.04 |
Hosting type | VPS | VPS |
- CPU | 1 CPU vCores | 2 CPU vCores (or more) |
- Memory | 3 GB Memory | 4 GB Memory (or more) |
- Storage | 50GB (SSD preferred) | 100 GB (SSD preferred) |
Configuration: | Static IP Required | Static IP Required |
Access: | Root Access Required | Root Access Required |
TurtleNetwork (TN) required for a node | 1,000 TN | 1,000 TN |
sudo apt update
# Fetches the list of available updatessudo apt upgrade
# Strictly upgrades the current packagesadduser *username*
(replace *username* with the preferred username) and it will prompt to set a password.usermod -aG sudo *username*
(replace *username* with the chosen username).AllowUsers *username*
(replace *useruname* with what you chose above)PermitRootLogin yes
to PermitRootLogin no
sudo systemctl restart sshd
or service sshd restart
Note: All terminal sessions and commands from this step, will be done with the chosen ‘username’ from the ‘Hosting section’.
sudo apt install openjdk-11-jre
sudo apt install openjdk-11-jdk
Note: Oracle JDK/JRE 11 with 64-bit version is required.
java -version
, the output should show information similar to what is shown below:openjdk version “11.0.20” 2023-07-18 OpenJDK Runtime Environment (build 11.0.20+8-post-Ubuntu-1ubuntu122.04) OpenJDK 64-Bit Server VM (build 11.0.20+8-post-Ubuntu-1ubuntu122.04, mixed mode, sharing)
Note: The version might differ.
Note: All terminal sessions and commands from this step, will be done with the chosen ‘username’ from the ‘Hosting section’.
Github: https://github.com/TurtleNetwork/TurtleNetwork/releases
Download the current .deb package (check the latest release in the above link): wget https://github.com/TurtleNetwork/TurtleNetwork/releases/download/v1.3.16/tn_1.3.16_all.deb
(replace /v1.3.16/
with the latest version, replace tn_1.3.16_all.deb
with the latest .deb version).
Install the downloaded .deb file: dpkg -i tn_1.3.16_all.deb
(replace tn_1.3.16_all.deb
with the latest .deb version).
Create a wallet on the Turtle Network:
vi /usr/share/tn/conf/tm.conf
(or nano /usr/share/tm/conf/tn.conf
)Start the TN node: sudo service tn start
or sudo systemctl start tn
Watch the TN node log live (press ctrl+c to cancel): sudo journalctl -u tn.service -f
& let it download the blockchain.
Browse to https://explorer.turtlenetwork.eu/peers & confirm your node is listed.
sudo touch TN_firewall
sudo ./TN_firewall
#!/bin/sh
######################################
echo "*** Turtle Network Firewall ***"
######################################
#
###################
# Setting variables
###################
#
# Checking for iptables
#######################
IPTABLES=/sbin/iptables
#######################
#
echo "Checking for IPTABLES"
if ! [ -x $IPTABLES ] : then
echo
echo "ERROR IN CONFIGURATION: IPTABLES doesn't exist or isn't executable!"
exit 1
fi
#
#####################
echo "FLUSHING RULES"
#####################
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
#######################
echo "INPUT CHAIN... "
#######################
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 6860 -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -j DROP
###############################################
echo "*** Turtle Network Firewall Complete ***"
###############################################
Note: Port 80 uses a proxy to forward to port 6859 (unless you have Apache already installed where then you will need to specify :6859 after the url / ip)
Note: All terminal sessions and commands from this step, will be done with the chosen ‘username’ from the ‘Hosting section’.
Backup your current TN.conf: cp /usr/share/tn/conf/tn.conf /usr/share/tn/conf/tn.conf.backup
Stop the TN node: sudo service tn stop
or sudo systemctl stop tn
Get the updated files (Latest releases: https://github.com/TurtleNetwork/TurtleNetwork/releases)
wget https://github.com/TurtleNetwork/TurtleNetwork/releases/download/v1.3.16/tn_1.3.16_all.deb
(replace *.deb with the latest .deb version)Install the downloaded .deb file: dpkg -i tn_1.3.16_all.deb
(replace *.deb with the latest .deb version)
Remove TN data folder: `rm -rdf /var/lib/tn/data`
sudo service tn start
or sudo systemctl start tn
sudo journalctl -u tn.service -f