Validator and LiteServer upgrade notes
Core TeamMainnet 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