/mytonctrl

A tool to run and maintain a TON node/validator

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

GitHub stars GitHub forks GitHub issues GitHub pull requests GitHub last commit GitHub license

MyTonCtrl

Contents

What is MyTonCtrl?

MyTonCtrl is a console application that serves as a convenient wrapper for fift, lite-client, and validator-engine-console. It has been specifically developed for node (validator) management tasks on the Linux operating system.

MyTonCtrl Status

MyTonCtrl Documentation

Mytonctrl's documentation can be found at https://docs.ton.org/participate/run-nodes/mytonctrl.

Functionality

  • Show TON network status
  • Management of local wallets
    • Create local wallet
    • Activate local wallet
    • Show local wallets
    • Import wallet from file (.pk)
    • Save wallet address to file (.addr)
    • Delete local wallet
  • Show account status
    • Show account balance
    • Show account history
    • Show account status from bookmarks
  • Transferring funds to the wallet
    • Transfer of a fixed amount
    • Transfer of the entire amount (all)
    • Transfer of the entire amount with wallet deactivation (alld)
    • Transferring funds to the wallet from bookmarks
    • Transferring funds to a wallet through a chain of self-deleting wallets
  • Manage bookmarks
    • Add account to bookmarks
    • Show bookmarks
    • Delete bookmark
  • Offer management
    • Show offers
    • Vote for the proposal
    • Automatic voting for previously voted proposals
  • Controlling the validator
    • Participate in the election of a validator
    • Return bet + reward
    • Autostart validator on abnormal termination (systemd)
    • Send validator statistics to https://toncenter.com

List of tested operating systems

Operating System Status
Ubuntu 16.04 LTS (Xenial Xerus) Error: TON compilation error
Ubuntu 18.04 LTS (Bionic Beaver) OK
Ubuntu 20.04 LTS (Focal Fossa) OK
Ubuntu 22.04 LTS (Jammy Jellyfish) OK
Debian 8 Error: Unable to locate package libgsl-dev
Debian 9 Error: TON compilation error
Debian 10 OK

Installation

Installation scripts overview

  • toninstaller.sh: clones TON and mytonctrl sources to /usr/src/ton and/usr/src/mytonctrl folders, compiles programs from sources and writes them to /usr/bin/.
  • mytoninstaller.py: configures the validator and mytonctrl; generates validator connection keys.

Installation modes

There are two installation modes: liteserver and validator. They both compile and install TON components and run the node/validator. Use liteserver mode if you want to use your node as Liteserver only. Use validator mode if you want to participate in the validator elections (you still can use that node as Liteserver).

Learn more about node types: https://docs.ton.org/participate/nodes/node-types

Installation for Ubuntu

  1. Download and execute the install.sh script in the desired installation mode. During installation the script prompts you for the superuser password several times.

    wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
    sudo bash install.sh -m <mode>
  2. Done. You can try to run the mytonctrl console now.

    mytonctrl

Installation for Debian

  1. Download and execute the install.sh script in the desired installation mode. During installation the script prompts you for the superuser password several times.

    wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
    su root -c 'bash install.sh -m <mode>'
  2. Done. You can try to run the mytonctrl console now.

    mytonctrl

Telemetry

By default, mytonctrl sends validator statistics to the https://toncenter.com server. It is necessary to identify network abnormalities, as well as to quickly give feedback to developers. To disable telemetry during installation, use the -t flag:

sudo bash install.sh -m <mode> -t

To disable telemetry after installation, do the following:

MyTonCtrl> set sendTelemetry false

MyTonCtrl installer mode

Web admin panel

To control the node/validator through the browser, you need to install an additional module: mytonctrl -> installer -> enable JR

Next, you need to create a password for connection: mytonctrl -> installer -> setwebpass

Ready. Now you can go to https://tonadmin.org site and log in with your credentials. git: https://github.com/igroman787/mtc-jsonrpc

Local copy of toncenter

To set up a local https://toncenter.com copy on your server, install an additional module: mytonctrl ->installer -> enable PT

Ready. A local copy of toncenter is available at http://<server-ip-address>:8000 git: https://github.com/igroman787/pytonv3

Useful links