Skip to content

Instantly share code, notes, and snippets.

@D4rk4
Last active September 15, 2019 12:32
Show Gist options
  • Save D4rk4/d19300f9efda436cbf3f260f09f47370 to your computer and use it in GitHub Desktop.
Save D4rk4/d19300f9efda436cbf3f260f09f47370 to your computer and use it in GitHub Desktop.
TON full node installation script for Debian 10
#!/bin/bash
export DEBCONF_FRONTEND=noninteractive
apt-get -y purge console-setup
apt-get update
apt-get -o Dpkg::Options::="--force-confold" -o Dpkg::Options::="--force-confdef" install -yq libghc-zlib-dev gperf build-essential make wget libreadline-dev git ccache libmicrohttpd-dev libssl-dev cmake libgflags-dev --allow-downgrades --allow-remove-essential --allow-change-held-packages
apt-get -o Dpkg::Options::="--force-confold" -o Dpkg::Options::="--force-confdef" dist-upgrade -yq
cd /usr/src
git clone --recurse-submodules -j8 https://github.com/ton-blockchain/ton
mkdir /tmp/ton-build
cd /tmp/ton-build
cmake /usr/src/ton
cmake --build . --target validator-engine
mkdir /opt/ton
cp /tmp/ton-build/validator-engine/validator-engine /opt/ton/validator-engine
mkdir /srv/ton
mkdir /srv/ton/db
mkdir /srv/ton/etc
mkdir /var/log/ton-node
chmod 775 /var/log/ton-node
chmod 775 -R /srv/ton
cd /srv/ton/etc
wget https://test.ton.org/ton-global.config.json -O ton-global.config.json
myip=$(wget -qO- http://ipecho.net/plain | xargs echo)
/opt/ton/validator-engine -C /srv/ton/etc/ton-global.config.json --db /srv/ton/db/ --ip ${myip}:443 -l /var/log/ton-node/log
cat << EOF > /etc/systemd/system/ton-node.service
[Unit]
Description=TON Node
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
User=root
ExecStart=/opt/ton/validator-engine -C /srv/ton/etc/ton-global.config.json --db /srv/ton/db/ --ip ${myip}:443 -l /var/log/ton-node/log
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable ton-node
service ton-node start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment