Validator and LiteServer upgrade notes

Validator and LiteServer upgrade notes

Core Team

Mainnet full node and lite server owners

Please update your MyTonCtrl and validator node.

Target versions:

mytonctrl: check https://t.me/tonstatus
validator: check https://t.me/tonstatus


1. Check your OS version

Compatible version:

  • Ubuntu 20.04, 22.04
  • Debian 11


2. Check your software version

Compatible versions:

  • clang 10 and later
  • cmake 3.15 and later
  • sodium 1.0.18 and later
  • secp256k1 0.1~20170810-2 and later
  • microhttpd 0.9.66-1 and later
  • openssl 3.0.7. and later (upgrade of OpenSSL takes place automatically if you upgrade via MyTonCtrl)

In case the above software is outdated it is recommended to update the system:

sudo apt update
sudo apt install clang cmake libmicrohttpd-dev libsecp256k1-dev libsodium-dev

If your system doesn't update any library to the desired version please check your OS version.


3. Make sure that your MyTonCtrl from an official repository

$ cd /usr/src/mytonctrl && git remote -v
origin   https://github.com/ton-blockchain/mytonctrl.git (fetch)
origin   https://github.com/ton-blockchain/mytonctrl.git (push)


In case of errors add git safe directories:

git config --global --add safe.directory /usr/src/mytonctrl
git config --global --add safe.directory /usr/src/ton


4. Check branches

In MyTonCtrl run `status` and under "Local validator status" find current versions:

Version mytonctrl: xxxxxx (master)
Version validator: yyyyyy (master)

Both must be on "master" branch


5. Update node via MyTonCtrl

  • `update`
  • `upgrade`

If you don't use MyTonCtrl please refer to the Appendix, section A of this instruction.


6. Re-check versions as in #4 and compare with target versions



Appendix

A. Update node without using MyTonCtrl

Only in case you do not use MyTonCtrl do the following:

repo="ton"
srcdir="/usr/src/"
bindir="/usr/bin/"

Make sure that the above paths are correct for your node!

cd ${srcdir}
git checkout master
cd ${bindir}
rm -rf openssl_3
git clone https://github.com/openssl/openssl openssl_3
cd openssl_3
opensslPath=`pwd`
git checkout openssl-3.1.4
./config
make build_libs -j12
cd ${bindir}/${repo}
ls --hide=global.config.json | xargs -d '\n' rm -rf
rm -rf .ninja_*
cmake -DCMAKE_BUILD_TYPE=Release ${srcdir}/${repo} -GNinja -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=$opensslPath/include -DOPENSSL_CRYPTO_LIBRARY=$opensslPath/libcrypto.a
ninja fift validator-engine lite-client pow-miner validator-engine-console generate-random-id dht-server func tonlibjson rldp-http-proxy
systemctl restart validator



Report Page