diff --git a/README.Ru.md b/README.Ru.md index 34ebe4e2..91acd3d9 100644 --- a/README.Ru.md +++ b/README.Ru.md @@ -1,6 +1,6 @@ ## Что это Данная консольная программа является оберткой над `fift`, `lite-client` и `validator-engine-console`. Она была создана для облегчения управления кошельками, доменами и валидатором на операционной системе `Linux`. -![](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/mytonctrl-status_ru.png) +![](screens/mytonctrl-status_ru.png) ## Функционал - [x] Показать статус сети TON @@ -42,14 +42,16 @@ - [x] Отправлять статистику валидатора на https://toncenter.com ## Список проверенных операционных систем -``` -Ubuntu 16.04 LTS (Xenial Xerus) - Error: TON compilation error -Ubuntu 18.04 LTS (Bionic Beaver) - OK -Ubuntu 20.04 LTS (Focal Fossa) - OK -Debian 8 - Error: Unable to locate package libgsl-dev -Debian 9 - Error: TON compilation error -Debian 10 - OK -``` +| 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 | + ## Описание установочных скриптов - `toninstaller.sh` - Данный скрипт клонирует исходники `TON` и `mytonctrl` в папки `/usr/src/ton` и `/usr/src/mytonctrl`, компилирует программы из исходников и прописывает их в `/usr/bin/`. diff --git a/README.md b/README.md index b159e703..148283d2 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,34 @@ -[Данный текст доступен на русском языке.](https://github.com/ton-blockchain/mytonctrl/blob/master/README.Ru.md) +![GitHub stars](https://img.shields.io/github/stars/ton-blockchain/mytonctrl?style=flat-square&logo=github) ![GitHub forks](https://img.shields.io/github/forks/ton-blockchain/mytonctrl?style=flat-square&logo=github) ![GitHub issues](https://img.shields.io/github/issues/ton-blockchain/mytonctrl?style=flat-square&logo=github) ![GitHub pull requests](https://img.shields.io/github/issues-pr/ton-blockchain/mytonctrl?style=flat-square&logo=github) ![GitHub last commit](https://img.shields.io/github/last-commit/ton-blockchain/mytonctrl?style=flat-square&logo=github) ![GitHub license](https://img.shields.io/github/license/ton-blockchain/mytonctrl?style=flat-square&logo=github) -## What is it? -This console is a wrapper over `fift`,`lite-client` and `validator-engine-console`. It was created to facilitate wallet, domain and validator management on Linux OS. + +# MytTonCtrl +[Данный текст доступен на русском языке.](README.Ru.md) -![](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/mytonctrl-status.png) + +## Contents -## Functionality +- [What is MytTonCtrl?](#what-is-myttonctrl) +- [Functionality](#functionality) + - [List of tested operating systems](#list-of-tested-operating-systems) +- [Installation](#installation) + - [Installation scripts overview](#installation-scripts-overview) + - [Installation modes](#installation-modes) + - [Installation for Ubuntu](#installation-for-ubuntu) + - [Installation for Debian](#installation-for-debian) +- [MyTonCtrl Documentation](#mytonctrl-documentation) +- [Telemetry](#telemetry) +- [MyTonCtrl installer mode](#mytonctrl-installer-mode) + - [Web admin panel](#web-admin-panel) + - [Local copy of toncenter](#local-copy-of-toncenter) +- [Useful links](#useful-links) + + +# What is MytTonCtrl? +MyTonCtrl is a console application that serves as a convenient wrapper for `fift`, `lite-client`, and `validator-engine-console`. It has been specifically developed to streamline wallet, domain, and validator management tasks on the Linux operating system. + +![MyTonCtrl Status](screens/mytonctrl-status.png) + +# Functionality - [x] Show TON network status - [x] Management of local wallets - [x] Create local wallet @@ -45,48 +68,61 @@ This console is a wrapper over `fift`,`lite-client` and `validator-engine-consol - [x] Send validator statistics to https://toncenter.com ## List of tested operating systems -``` -Ubuntu 16.04 LTS (Xenial Xerus) - Error: TON compilation error -Ubuntu 18.04 LTS (Bionic Beaver) - OK -Ubuntu 20.04 LTS (Focal Fossa) - OK -Debian 8 - Error: Unable to locate package libgsl-dev -Debian 9 - Error: TON compilation error -Debian 10 - OK -``` - +| 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: `lite` and` full`. They both **compile** and install `TON` components. However the `lite` version does not configure or run the node/validator. +There are two installation modes: `lite` and`full`. They both **compile** and install `TON` components. However the `lite` version does not configure or run the node/validator. ## 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. -```sh -wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh -sudo bash install.sh -m -``` + ```sh + wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh + sudo bash install.sh -m + ``` 2. Done. You can try to run the `mytonctrl` console now. -```sh -mytonctrl -``` + ```sh + 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. -```sh -wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh -su root -c 'bash install.sh -m ' -``` + ```sh + wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh + su root -c 'bash install.sh -m ' + ``` 2. Done. You can try to run the `mytonctrl` console now. -```sh -mytonctrl -``` + ```sh + mytonctrl + ``` -## Telemetry +# MyTonCtrl Documentation + +This repository contains the following technical documents for MyTonCtrl, categorized by language. Simply click the links below to navigate to the document you're interested in. + +| | FAQ | Import Wallets | Ubuntu Manual | Nominator Pool | +|:-:|:---:|:-------------:|:-------------:|:--------------:| +| **English (EN)** | [Link](./docs/en/FAQ.md) | [Link](./docs/en/import-wallets.md) | [Link](./docs/en/manual-ubuntu.md) | [Link](./docs/en/nominator-pool.md) | +| **Russian (RU)** | [Link](./docs/ru/FAQ.md) | [Link](./docs/ru/import-wallets.md) | [Link](./docs/ru/manual-ubuntu.md) | [Link](./docs/ru/nominator-pool.md) | +| **Traditional Chinese** | [Link](./docs/zh_TW/FAQ.md) | [Link](./docs/zh_TW/import-wallets.md) | [Link](./docs/zh_TW/manual-ubuntu.md) | [Link](./docs/zh_TW/nominator-pool.md) | + + +# 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: @@ -99,6 +135,8 @@ 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` @@ -111,11 +149,10 @@ 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` +`mytonctrl` ->`installer` -> `enable PT` Ready. A local copy of toncenter is available at `http://:8000` git: https://github.com/igroman787/pytonv3 -## Useful links -1. https://github.com/ton-blockchain/mytonctrl/blob/master/docs/en/manual-ubuntu.md -2. https://ton.org/docs/ +# Useful links +* https://docs.ton.org/ \ No newline at end of file diff --git a/docs/en/FAQ.md b/docs/en/FAQ.md new file mode 100644 index 00000000..d016e3a8 --- /dev/null +++ b/docs/en/FAQ.md @@ -0,0 +1,124 @@ +Here is the optimized version in English: + +# MyTonCtrl Directory Usage + +MyTonCtrl is a wrapper that stores its files in two places: + +1. `~/.local/share/mytonctrl/` - Long-term files such as logs are stored here. +2. `/tmp/mytonctrl/` - Temporary files are stored here. + +MyTonCtrl also includes another script, mytoncore, which in turn stores files in the following locations: + +1. `~/.local/share/mytoncore/` - Permanent files, the main configuration will be stored here. +2. `/tmp/mytoncore/` - Temporary files, parameters used for elections will be saved here. + +MyTonCtrl downloads the source code for itself and the validator into the following directories: + +1. `/usr/src/mytonctrl/` +2. `/usr/src/ton/` + +MyTonCtrl compiles the validator components into the following directory: + +1. `/usr/bin/ton/` + +MyTonCtrl creates a working directory for the validator here: + +1. `/var/ton/` + +--- + +## If MyTonCtrl was installed as root: + +The configurations will be stored differently: + +1. `/usr/local/bin/mytonctrl/` +2. `/usr/local/bin/mytoncore/` + +--- + +## How to remove MyTonCtrl: + +Run the script as an administrator and remove the compiled TON components: + +```bash +sudo bash /usr/src/mytonctrl/scripts/uninstall.sh +sudo rm -rf /usr/bin/ton +``` + +During this process, ensure you have sufficient permissions to delete or modify these files or directories. + + +# Dealing with Errors and Directory Changes with MyTonCtrl + +If you encounter issues running MyTonCtrl as a different user or wish to change the working directory of the validator, this guide provides some solutions. + +## Running MyTonCtrl as Different User + +Running MyTonCtrl as a different user may trigger the following error: + +``` +Error: expected str, bytes or os.PathLike object, not NoneType +``` + +To resolve this, you should run MyTonCtrl as the user who installed it. + +## Changing Validator Working Directory Pre-installation + +If you wish to change the working directory of the validator prior to installation, there are two ways to do so: + +1. **Fork the project** - You can fork the project and make your changes there. Learn how to fork a project with `man git-fork`. +2. **Create a symbolic link** - You can also create a symbolic link with the following command: + + ```bash + ln -s /opt/ton/var/ton + ``` +This command will create a link `/var/ton` that points to `/opt/ton`. + +## Changing Validator Working Directory Post-installation + +If you want to change the working directory of the validator from `/var/ton/` after installation, perform the following steps: + +1. **Stop services** - You will need to stop the services with these commands: + + ```bash + systemctl stop validator + systemctl stop mytoncore + ``` + +2. **Move validator files** - You then need to move the validator files with this command: + + ```bash + mv /var/ton/* /opt/ton/ + ``` + +3. **Update configuration paths** - Replace the paths in the configuration located at `~/.local/share/mytoncore/mytoncore.db`. + +4. **Note on experience** - There is no prior experience with such a transfer, so consider this when moving forward. + +Remember to make sure you have sufficient permissions to make these changes or run these commands. + +# Understanding Validator Status and Restarting Validator in MyTonCtrl + +This document will help you understand how to confirm if MyTonCtrl has become a full validator and how to restart your validator. + +## Checking Validator Status in MyTonCtrl + +You can confirm if your node has become a full validator by checking the following conditions: + +1. **Validator Desynchronization** - The desynchronization of the local validator should be less than 20. +2. **Validator Index** - The validator index should be greater than -1. + +To view the performance factor of your validator, you can use the `vl` command in MyTonCtrl: + +1. Find your validator in the list by its ADNL address (`adnlAddr`). +2. If the `mr` and `wr` coefficients are close to 1, it means that your validator is working correctly. + +## Restarting Your Validator + +If you need to restart your validator, you can do so by running the following command: + +```bash +systemctl restart validator +``` + +Ensure you have sufficient permissions to execute these commands and make necessary adjustments. Always remember to back up important data before performing operations that could potentially affect your validator. \ No newline at end of file diff --git a/docs/en/FAQ.txt b/docs/en/FAQ.txt deleted file mode 100644 index 225be70b..00000000 --- a/docs/en/FAQ.txt +++ /dev/null @@ -1,53 +0,0 @@ -Used directories: -mytonctrl is a wrapper and stores its files in two places: -1. ~/.local/share/mytonctrl/ - persistent files such as logs -2. /tmp/mytonctrl/ - temporary files - -mytonctrl also contains another script mytoncore, which in turn stores files here: -1. ~/.local/share/mytoncore/ - permanent files, the main config will be stored here -2. /tmp/mytoncore/ - temporary files, there will be saved parameters used for elections - -mytonctrl downloads the source code of itself and the validator into folders: -1. /usr/src/mytonctrl/ -2. /usr/src/ton/ - -mytonctrl compiles the components of the validator into a folder: -1. /usr/bin/ton/ - -mytonctrl creates a folder for the validator to work here: -1. /var/ton/ - -=========================================================================================================== - -If mytonctrl was installed as root: -Then the configurations will lie in a different way: -1. /usr/local/bin/mytonctrl/ -2. /usr/local/bin/mytoncore/ - -=========================================================================================================== - -How to remove mytonctrl: -run the script as administrator and remove the compiled TON components: -`sudo bash /usr/src/mytonctrl/scripts/uninstall.sh` -`sudo rm -rf /usr/bin/ton` - -=========================================================================================================== - -If we run mytonctrl as a different user, we get the following error. The solution is to run as the user from whom you installed: -`Error: expected str, bytes or os.PathLike object, not NoneType` -(error screen + normal startup screen) - -=========================================================================================================== - -If we want to change the working directory of the validator before installation, then there are two options: -1.fork the project and make our changes (man git-fork) -2.or create a symbolic link: -`ln -s /opt/ton/var/ton` - Create a link /var/ton that leads to /opt/ton - -=========================================================================================================== - -If we want to change the working directory of the validator from /var/ton/, then after installation we will do the following: -1.` systemctl stop validator`, `systemctl stop mytoncore` - Stop services -2.`mv /var/ton/* /opt/ton/`- move the validator files -3. Replace the paths in the configuration `~ /.local/share/mytoncore/mytoncore.db` -4. Then we look at the circumstance - there was no experience of such a transfer \ No newline at end of file diff --git a/docs/en/import-wallets.md b/docs/en/import-wallets.md index 0f3cb1c3..508f2655 100644 --- a/docs/en/import-wallets.md +++ b/docs/en/import-wallets.md @@ -1,30 +1,36 @@ -# Importing wallets +# Importing Wallets -MyTonCtrl can work with different types of wallet-like contracts: wallet-v1, wallet-v3, [lockup-wallet](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal), etc +MyTonCtrl supports various types of wallet-like contracts, including wallet-v1, wallet-v3, [lockup-wallet](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal), and others. Often, it provides a straightforward way to interact with these contracts. -Sometimes it is even the simplest way to deal with contract. +## Importing Using a Private Key + +If you have access to a private key, you can easily import a wallet. Enter the following command into the console: -## Import via private key -If you know private key just type in console: ``` iw ``` -where `wallet-secret-key` is private key in base64 format -## Import via mnemonic -If you know mnemonic phrase (24 words like `tattoo during ...`) do the following steps: -1) Install nodejs -2) Install https://github.com/ton-blockchain/mnemonic2key: -``` -git clone https://github.com/ton-blockchain/mnemonic2key.git +Here, `` is your private key in base64 format. -cd mnemonic2key +## Importing Using a Mnemonic Phrase -npm install -``` -3) Run `node index.js word1 word2 ... word24 [address]`, where `word1`, `word2` ... are your mnemonic phrase and `address` is address of your wallet contract -4) Script will generate `wallet.pk` и `wallet.addr`, rename them to `imported_wallet.pk` and `imported_wallet.addr` -5) Copy both files to `~/.local/share/mytoncore/wallets/` -6) Open mytonctrl console and list wallets via `wl` command -7) Check that wallet was imported and has correct balance -8) Now you can send money via `mg` command (type `mg` to get help docs) +If you have a mnemonic phrase (a sequence of 24 words like `tattoo during ...`), follow these steps: + +1. Install Node.js. +2. Clone and install [mnemonic2key](https://github.com/ton-blockchain/mnemonic2key): + ``` + git clone https://github.com/ton-blockchain/mnemonic2key.git + cd mnemonic2key + npm install + ``` +3. Run the following command, replacing `word1`, `word2`... with your mnemonic phrase and `address` with the address of your wallet contract: + ``` + node index.js word1 word2 ... word24 [address] + ``` +4. The script will generate `wallet.pk` and `wallet.addr`. Rename them to `imported_wallet.pk` and `imported_wallet.addr`. +5. Copy both files to the `~/.local/share/mytoncore/wallets/` directory. +6. Open the mytonctrl console and list the wallets using the `wl` command. +7. Verify that the wallet has been imported and displays the correct balance. +8. You can now send funds using the `mg` command. Enter `mg` to view the help documentation. + +Remember to replace placeholders (words inside `< >`) with your actual values when running commands. \ No newline at end of file diff --git a/docs/en/manual-ubuntu.md b/docs/en/manual-ubuntu.md index 6a6f43e1..aee1ae72 100644 --- a/docs/en/manual-ubuntu.md +++ b/docs/en/manual-ubuntu.md @@ -1,58 +1,66 @@ -# How to become a validator with mytonctrl (v0.2, OS Ubuntu) +# How to Become a Validator with mytonctrl (v0.2, OS Ubuntu) -### 1. Install mytonctrl: -1. Download the installation script. We recommend to install the tool under your local user account, not as Root. In our example a local user account is used: +Here are the steps to become a validator using mytonctrl. This example is applicable for the Ubuntu Operating System. -```sh -wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh -``` +## 1. Install mytonctrl: -![wget output](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_wget-ls_ru.png) +1. Download the installation script. We recommend installing the tool under your local user account, not as Root. In our example, a local user account is used: -2. Run the installation script as administrator: + ```sh + wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh + ``` -```sh -sudo bash install.sh -m full -``` + ![wget output](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_wget-ls_ru.png) +2. Run the installation script as an administrator: -### 2. Operability test: -1. Run **mytonctrl** from local user account used for installation at step 1: + ```sh + sudo bash install.sh -m full + ``` -```sh -mytonctrl -``` +## 2. Conduct an Operability Test: -2. Check **mytonctrl** statuses, in particular the following: +1. Run **mytonctrl** from the local user account used for installation in step 1: -* **mytoncore status**: should be green. -* **Local validator status**: should be green. -* **Local validator out of sync**. First a big number displays. Once the newly created validator contacts other validators, the number is around 250k. As synchronization goes on, the number decreases. When it falls below 20, the validator is synchronized. + ```sh + mytonctrl + ``` -![status](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/mytonctrl-status.png) +2. Check the **mytonctrl** statuses, particularly the following: -3. Look at the list of available wallets. In our example the **validator_wallet_001** wallet was created at **mytonctrl** installation: +* **mytoncore status**: Should be in green. +* **Local validator status**: Should also be in green. +* **Local validator out of sync**: Initially, a large number is displayed. As soon as the newly created validator connects with other validators, the number will be around 250k. As synchronization progresses, this number decreases. When it falls below 20, the validator is synchronized. + + ![status](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/mytonctrl-status.png) + + +## 3. View the List of Available Wallets + +Check out the list of available wallets. For instance, during the installation of **mytonctrl**, the **validator_wallet_001** wallet is created: ![wallet list](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-wl_ru.png) +## 4. Send the Required Number of Coins to the Wallet and Activate It -### 3. Send the required number of coins to the wallet and activate it: -Go to **tonmon.xyz** > **Participant stakes** to check the the minimum amount of coins required to participate in one election round. +To determine the minimum amount of coins required to participate in one election round, head to **tonmon.xyz** > **Participant stakes**. -* The `vas` command displays the history of transfers -* The `aw` command activates the wallet +* Use the `vas` command to display the history of transfers +* Activate the wallet using the `aw` command -![account history](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-vas-aw_ru.png) + ![account history](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-vas-aw_ru.png) +## 5. Your Validator is Now Ready -### 4. Now your validator is good to go -**mytoncore** automatically joins the elections. It divides the wallet balance into two parts and uses them as a bet to participate in the elections. You can also manually set the stake size: +**mytoncore** will automatically join the elections. It divides the wallet balance into two parts and uses them as a stake to participate in the elections. You can also manually set the stake size: -`set stake 50000` — set the stake size to 50k coins. If the bet is accepted and our node becomes a validator, the bet can only be withdrawn at the second election (according to the rules of the electorate). +`set stake 50000` — this sets the stake size to 50k coins. If the bet is accepted and our node becomes a validator, the bet can only be withdrawn in the second election (according to the rules of the electorate). ![setting stake](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-set_ru.png) -Feel free to command help. +You can also command for help anytime. + +![help command](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-help_ru.png) To check **mytoncrl** logs, open `~/.local/share/mytoncore/mytoncore.log` for a local user or `/usr/local/bin/mytoncore/mytoncore.log` for Root. diff --git a/docs/en/nominator-pool.md b/docs/en/nominator-pool.md index 29dabd02..fd80ee6d 100644 --- a/docs/en/nominator-pool.md +++ b/docs/en/nominator-pool.md @@ -1,46 +1,46 @@ -# Nominator pool +# Nominator Pool -## Running the validator in nominator pool mode +## Running the Validator in Nominator Pool Mode -1. Prepare the hardware for the validator - 8 vCPUs, 64GB memory, 1TB SSD, Fixed IP address, 1Gb/s. +1. Set up the hardware for the validator - you will need 8 vCPUs, 64GB memory, 1TB SSD, a fixed IP address, and 1Gb/s internet speed. - To maintain network stability, it is recommended to distribute validator nodes in different locations around the world and not to concentrate them in one data center. - Use https://status.toncenter.com/ to determine the load of a location. According to the map, you can see that high utilization - data centers in Europe, Finland, Germany and Paris. Therefore, we do not recommend using such providers as Hetzner and OVH. + For maintaining network stability, it's recommended to distribute validator nodes in different geographical locations worldwide rather than concentrating them in a single data center. You can use [this site](https://status.toncenter.com/) to assess the load of various locations. The map indicates high data center utilization in Europe, especially in Finland, Germany, and Paris. Therefore, using providers such as Hetzner and OVH is not recommended. - > Your hardware must comply with the specified configuration or be higher. Do not run the validator on weak hardware - this negatively affects the network and you will be fined. + > Ensure your hardware matches or exceeds the specifications above. Running the validator on insufficient hardware negatively impacts the network and could result in penalties. - > Since May 2021, Hetzner has banned mining on its servers, currently both PoW and PoS algorithms fall under this rule. Installing a regular node will already be considered a violation of the terms of the agreement. + > Note that as of May 2021, Hetzner has prohibited mining on its servers, and this ban includes both PoW and PoS algorithms. Even installing a regular node may be considered a violation of their terms of service. - > **Recommended providers:** [amazon](https://aws.amazon.com/), [digitalocean](https://www.digitalocean.com/), [linode](https://www.linode.com/), [alibaba cloud](https://alibabacloud.com/), [latitude](https://www.latitude.sh/). + > **Recommended providers include:** [Amazon](https://aws.amazon.com/), [DigitalOcean](https://www.digitalocean.com/), [Linode](https://www.linode.com/), [Alibaba Cloud](https://alibabacloud.com/), [Latitude](https://www.latitude.sh/). -2. Install and sync **mytonctrl** as described in https://github.com/ton-blockchain/mytonctrl/blob/master/docs/en/manual-ubuntu.md **only** paragraph 1, 2 and 3. +2. Install and synchronize **mytonctrl** as described in the guide [here](https://github.com/ton-blockchain/mytonctrl/blob/master/docs/en/manual-ubuntu.md) — follow **only** steps 1, 2, and 3. - [Video instruction](https://ton.org/docs/#/nodes/run-node). + You can also refer to this [Video Instruction](https://ton.org/docs/#/nodes/run-node) for additional help. -3. Send 1 TON to validator wallet address displayed in the list `wl`. +3. Transfer 1 TON to the validator wallet address shown in the `wl` list. -4. Type `aw` to activate validator wallet. +4. Use the `aw` command to activate your validator wallet. -5. Create two pools (for even and odd validation round): - ``` +5. Create two pools (for even and odd validation rounds): + + ```bash new_pool p1 0 1 1000 300000 new_pool p2 0 1 1001 300000 ``` - where - * `p1` is pool name; - * `0` % is validator reward share (e.g. use 40 for 40%); - * `1` is max nominators count in the pool (should be <= 40); - * `1000` TON is minimum validator stake (should be >= 1K TON); - * `300000` TON is minimum nominator stake (should be >= 10K TON); - > (!) Pools configurations don't have to be identical, you can add 1 to the minimum stake of one pool to make them different. + where: + * `p1` is the pool name; + * `0` % is the validator's reward share (e.g., use 40 for 40%); + * `1` is the maximum number of nominators in the pool (should be <= 40); + * `1000` TON is the minimum validator stake (should be >= 1K TON); + * `300000` TON is the minimum nominator stake (should be >= 10K TON); + + > (!) Pool configurations do not have to be identical, you can add 1 to the minimum stake of one pool to make them different. > (!) Use https://tonmon.xyz/ to determine the current minimum validator stake. -6. Type `pools_list` to display pools addresses: +6. Type `pools_list` to display pool addresses: - ``` + ```bash pools_list Name Status Balance Address p1 empty 0 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT @@ -48,7 +48,8 @@ ``` 7. Send 1 TON to each pool and activate the pools: - ``` + + ```bash mg validator_wallet_001 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT 1 mg validator_wallet_001 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL 1 activate_pool p1 @@ -56,57 +57,62 @@ ``` 8. Type `pools_list` to display pools: - ``` + + ```bash pools_list Name Status Balance Address p1 active 0.731199733 kf98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780v_W p2 active 0.731199806 kf9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV8UO ``` -9. Open each pool by link "https://tonscan.org/nominator/" and verify pools configuration. +9. Open each pool via the link "https://tonscan.org/nominator/" and verify pool configurations. -10. Make validator deposit to each pool: - ``` +10. Proceed with the validator deposit to each pool: + + ```bash deposit_to_pool validator_wallet_001 1005 deposit_to_pool validator_wallet_001 1005 ``` - where `1005` TON is deposit amount. Please note that 1 TON will be debited by the pool for deposit processing. + In these commands, `1005` TON is the deposit amount. Be aware that 1 TON will be deducted by the pool for processing the deposit. -11. Make nominator deposit to each pool: +11. Proceed with the nominator deposit to each pool: - Go to the pool link (**9th step**) and click **ADD STAKE**. - You can also make a deposit using **mytonctrl**, use the commands below to do so. + Visit the pool link (from **Step 9**) and click **ADD STAKE**. + You can also make a deposit using **mytonctrl**, using the following commands: - ``` + ```bash mg nominator_wallet_001 300001 -C d mg nominator_wallet_001 300001 -C d ``` - > (!) The nominator wallet must be initialized in basechain (workchain 0). + > (!) The nominator wallet must be initialized in basechain (workchain 0). - > (!) Keep in mind that the validator wallet and nominator wallet must be stored separately! Validator wallet is stored on the server with validator node, to ensure processing of all system transactions. The nominator wallet is stored on your cold cryptocurrency wallet. + > (!) Keep in mind that the validator wallet and nominator wallet must be stored separately! The validator wallet should be stored on the server with the validator node to ensure processing of all system transactions. Meanwhile, the nominator wallet should be stored in your cold cryptocurrency wallet. - > To withdrawal a nominator deposit, send a transaction with the comment `w` to the pool address (1 TON must be attached to process the transaction). You can also do this with **mytonctrl**. + > To withdraw a nominator deposit, send a transaction with the comment `w` to the pool address (attach 1 TON to process the transaction). You can also perform this action using **mytonctrl**. -13. Activate pool mode: - ``` +12. Activate pool mode: + + ```bash set usePool true + set stake null ``` + +13. Invite nominators to deposit into your pools. The participation in validation will commence automatically. -14. Invite nominators to make deposits to your pools. Participation in validation will start automatically. - > (!) You need to have at least 200 TON/month on validator wallet for operation fees. + > (!) Ensure that you have at least 200 TON/month in your validator wallet for operation fees. -## Pools configuration +## Pool Configuration -If you want to lend to yourself then use `new_pool p1 0 1 1000 300000` (1 nominator maximum, 0% validator share). +If you're intending to lend to yourself, use `new_pool p1 0 1 1000 300000` (maximum of 1 nominator, 0% validator share). -If you are creating a pool for many nominators then use something like this: `new_pool p1 40 40 10000 10000` (40 nominators maximum, 40% validator share, 10K TON minimum participant stakes). +If you're creating a pool for numerous nominators, you might use something like this: `new_pool p1 40 40 10000 10000` (maximum of 40 nominators, 40% validator share, minimum participant stakes of 10K TON). -## Switching a regular validator to nominator pool mode +## Transitioning a Regular Validator to Nominator Pool Mode -1. Type `set stake 0` to disable participation in elections. +1. Input `set stake 0` to discontinue election participation. -2. Wait for both of your stakes to return from the elector. +2. Await the return of both your stakes from the elector. -3. Complete the "Running the validator in nominator pool mode" steps starting from the **4th** step. +3. Proceed with the steps under "Running the Validator in Nominator Pool Mode" from the **4th step** onwards. \ No newline at end of file diff --git a/docs/ru/FAQ.md b/docs/ru/FAQ.md new file mode 100644 index 00000000..e1436e1d --- /dev/null +++ b/docs/ru/FAQ.md @@ -0,0 +1,122 @@ +# Использование директорий MyTonCtrl + +MyTonCtrl - это оболочка, которая сохраняет свои файлы в двух местах: + +1. `~/.local/share/mytonctrl/` - Долгосрочные файлы, такие как логи, хранятся здесь. +2. `/tmp/mytonctrl/` - Временные файлы хранятся здесь. + +MyTonCtrl также включает другой скрипт, mytoncore, который в свою очередь хранит файлы в следующих местах: + +1. `~/.local/share/mytoncore/` - Постоянные файлы, главная конфигурация будет храниться здесь. +2. `/tmp/mytoncore/` - Временные файлы, параметры, используемые для выборов, будут сохранены здесь. + +MyTonCtrl загружает исходный код для самого себя и валидатора в следующие директории: + +1. `/usr/src/mytonctrl/` +2. `/usr/src/ton/` + +MyTonCtrl компилирует компоненты валидатора в следующую директорию: + +1. `/usr/bin/ton/` + +MyTonCtrl создает рабочую директорию для валидатора здесь: + +1. `/var/ton/` + +--- + +## Если MyTonCtrl был установлен как root: + +Конфигурации будут храниться иначе: + +1. `/usr/local/bin/mytonctrl/` +2. `/usr/local/bin/mytoncore/` + +--- + +## Как удалить MyTonCtrl: + +Запустите скрипт как администратор и удалите скомпилированные компоненты TON: + +```bash +sudo bash /usr/src/mytonctrl/scripts/uninstall.sh +sudo rm -rf /usr/bin/ton +``` + +Во время этого процесса убедитесь, что у вас есть достаточные права для удаления или изменения этих файлов или директорий. + + +# Обработка ошибок и изменение рабочего каталога с MyTonCtrl + +Если вы столкнулись с проблемами при выполнении MyTonCtrl от другого пользователя или хотите изменить рабочий каталог валидатора, эта инструкция предлагает несколько решений. + +## Запуск MyTonCtrl от другого пользователя + +Запуск MyTonCtrl от другого пользователя может вызвать следующую ошибку: + +``` +Error: expected str, bytes or os.PathLike object, not NoneType +``` + +Для ее решения вы должны запустить MyTonCtrl от пользователя, который его установил. + +## Изменение рабочего каталога валидатора перед установкой + +Если вы хотите изменить рабочий каталог валидатора до установки, есть два способа это сделать: + +1. **Сделайте форк проекта** - Вы можете сделать форк проекта и внести свои изменения туда. Узнайте, как сделать форк проекта с помощью `man git-fork`. +2. **Создайте символическую ссылку** - Вы также можете создать символическую ссылку с помощью следующей команды: + + ```bash + ln -s /opt/ton/var/ton + ``` +Эта команда создаст ссылку `/var/ton`, которая указывает на `/opt/ton`. + +## Изменение рабочего каталога валидатора после установки + +Если вы хотите изменить рабочий каталог валидатора с `/var/ton/` после установки, выполните следующие действия: + +1. **Остановите службы** - Вам потребуется остановить службы с помощью этих команд: + + ```bash + systemctl stop validator + systemctl stop mytoncore + ``` + +2. **Переместите файлы валидатора** - Затем вам нужно переместить файлы валидатора с помощью этой команды: + + ```bash + mv /var/ton/* /opt/ton/ + ``` + +3. **Обновите пути в конфигурации** - Замените пути в конфигурации, расположенной в `~/.local/share/mytoncore/mytoncore.db`. + +4. **Примечание об опыте** - Предыдущего опыта такого переноса не было, поэтому учитывайте это при продвижении вперед. + +Не забудьте убедиться, что у вас достаточно прав для внесения этих изменений или выполнения этих команд. + +# Как понять статус валидатора и перезапустить валидатор в MyTonCtrl + +Этот документ поможет вам понять, как подтвердить, стала ли MyTonCtrl полноценным валидатором, и как перезапустить ваш валидатор. + +## Проверка статуса валидатора в MyTonCtrl + +Вы можете подтвердить, что ваша нода стала полноценным валидатором, проверив следующие условия: + +1. **Десинхронизация валидатора** - Десинхронизация локального валидатора должна быть меньше 20. +2. **Индекс валидатора** - Индекс валидатора должен быть больше -1. + +Чтобы просмотреть коэффициент работы своего валидатора, вы можете использовать команду `vl` в MyTonCtrl: + +1. Найдите свой валидатор в списке по его ADNL-адресу (`adnlAddr`). +2. Если коэффициенты `mr` и `wr` близки к 1, это означает, что ваш валидатор работает правильно. + +## Перезапуск вашего валидатора + +Если вам нужно перезапустить ваш валидатор, вы можете сделать это, выполнив следующую команду: + +```bash +systemctl restart validator +``` + +Убедитесь, что у вас есть достаточные права для выполнения этих команд и сделайте необходимые корректировки. Всегда помните о резервном копировании важных данных перед выполнением операций, которые могут потенциально повлиять на ваш валидатор. \ No newline at end of file diff --git a/docs/ru/FAQ.txt b/docs/ru/FAQ.txt deleted file mode 100644 index ab75ae74..00000000 --- a/docs/ru/FAQ.txt +++ /dev/null @@ -1,72 +0,0 @@ -Используемые директории: -mytonctrl является оберткой, и хранит свои файлы в двух местах: -1. ~/.local/share/mytonctrl/ - постоянные файлы, такие как логи -2. /tmp/mytonctrl/ - временные файлы - -mytonctrl так же содержит в себе другой скрипт mytoncore, который в свою очередь хранит файлы тут: -1. ~/.local/share/mytoncore/ - постоянные файлы, тут будет хранится основной конфиг -2. /tmp/mytoncore/ - временные файлы, тут будут сохраненные параметры, использованные для выборов - -mytonctrl скачивает исходный код себя и валидатора в папки: -1. /usr/src/mytonctrl/ -2. /usr/src/ton/ - -mytonctrl компилирует компоненты валидатора в папку: -1. /usr/bin/ton/ - -mytonctrl создает папку для работы валидатора тут: -1. /var/ton/ - -=========================================================================================================== - -Если mytonctrl был установлен от имени root: -То конфигурации будут лежать по другому пути: -1. /usr/local/bin/mytonctrl/ -2. /usr/local/bin/mytoncore/ - -=========================================================================================================== - -Как удалить mytonctrl? - -Запустить от имени администратора скрипт: -`sudo bash /usr/src/mytonctrl/scripts/uninstall.sh` - -=========================================================================================================== - -Если мы запускаем mytonctrl от имени другого пользователя, то получим следующую ошибку. Решение - запустить от имени того пользователя, от которого установили: -`Error: expected str, bytes or os.PathLike object, not NoneType` -(скрин ошибки + скрин нормального запуска) - -=========================================================================================================== - -Если мы хотим изменить рабочую директорию валидатора до установки, то есть два варианта: -1. форкаем проект и вносим свои изменения (man git-fork) -2. или создаем символическую ссылку: -`ln -s /opt/ton /var/ton` - Создали ссылку /var/ton, которая ведет /opt/ton - -=========================================================================================================== - -Если мы хотим изменить рабочую директорию валидатора с /var/ton/, то после установки сделаем следующее: -1. `systemctl stop validator`, `systemctl stop mytoncore` - Остановим службы -2. `mv /var/ton/* /opt/ton/` - перемещаем файлы валидатора -3. Заменить пути в конфигурации `~/.local/share/mytoncore/mytoncore.db` -4. Дальше смотрим по обстоятельству - опыта такого переноса не было - -=========================================================================================================== - -Как из mytonctrl я могу понять стала ли она валидатором в текущий момент? - -Нода стала полноценным валидатором, если: -1. `Рассинхронизация локального валидатора` меньше `20` -2. `Индекс валидатора` больше `-1` - -Посмотреть коэффициент работы своего валидатора можно в выводе внутренней команды mytonctrl - `vl`: -1. Найти свой валидатор в списке по ADNL адресу (`adnlAddr`) -2. Если коэффициенты `mr` и `wr` близки к `1`, значит ваш валидатор работает исправно. - -=========================================================================================================== - -Как перезапустить валидатор? - -Для перезапуска валидатора выполните команду `systemctl restart validator` - diff --git a/docs/ru/import-wallets.md b/docs/ru/import-wallets.md new file mode 100644 index 00000000..700b7ec9 --- /dev/null +++ b/docs/ru/import-wallets.md @@ -0,0 +1,36 @@ +# Импорт кошельков + +MyTonCtrl поддерживает различные типы контрактов, похожих на кошелек: wallet-v1, wallet-v3, [lockup-wallet](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal) и другие. Часто это самый простой способ работы с контрактом. + +## Импорт через приватный ключ + +Если у вас есть приватный ключ, вы можете легко импортировать кошелек. Введите следующую команду в консоль: + +``` +iw <адрес-кошелька> <секретный-ключ-кошелька> +``` + +Здесь `<секретный-ключ-кошелька>` - это ваш приватный ключ в формате base64. + +## Импорт через мнемоническую фразу + +Если у вас есть мнемоническая фраза (последовательность из 24 слов, например, `tattoo during ...`), следуйте этим шагам: + +1. Установите Node.js. +2. Клонируйте и установите [mnemonic2key](https://github.com/ton-blockchain/mnemonic2key): + ``` + git clone https://github.com/ton-blockchain/mnemonic2key.git + cd mnemonic2key + npm install + ``` +3. Запустите следующую команду, замените `word1`, `word2`... на вашу мнемоническую фразу и `address` на адрес вашего контракта кошелька: + ``` + node index.js word1 word2 ... word24 [address] + ``` +4. Скрипт сгенерирует `wallet.pk` и `wallet.addr`. Переименуйте их в `imported_wallet.pk` и `imported_wallet.addr`. +5. Скопируйте оба файла в каталог `~/.local/share/mytoncore/wallets/`. +6. Откройте консоль mytonctrl и перечислите кошельки с помощью команды `wl`. +7. Убедитесь, что кошелек был импортирован и отображает правильный баланс. +8. Теперь вы можете отправить средства с помощью команды `mg`. Введите `mg`, чтобы просмотреть справочную документацию. + +Помните, что при выполнении команд следует заменить заполнители (слова внутри `< >`) на ваши фактические значения. \ No newline at end of file diff --git a/docs/ru/manual-ubuntu.md b/docs/ru/manual-ubuntu.md index bb337412..83307dcb 100644 --- a/docs/ru/manual-ubuntu.md +++ b/docs/ru/manual-ubuntu.md @@ -1,60 +1,67 @@ -# Инструкция как стать валидатором используя mytonctrl (v0.2, OS Ubuntu) +# Как стать валидатором с помощью mytonctrl (v0.2, ОС Ubuntu) -### 1. Устанавливаем mytonctrl: -Скачиваем установочный скрипт от имени того пользователя, на чьё имя будет установлен mytonctrl. Настоятельно не советую устанавливать mytonctrl от имени root. В нашем случае от имени user: +Вот шаги по становлению валидатором с использованием mytonctrl. Этот пример применим для операционной системы Ubuntu. -```sh -wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh -``` +## 1. Установка mytonctrl: -![wget output](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_wget-ls_ru.png) +1. Загрузите скрипт установки. Мы рекомендуем устанавливать инструмент под вашей локальной учетной записью пользователя, а не как Root. В нашем примере используется локальная учетная запись пользователя: -Запускаем установочный скрипт от имени администратора: + ```sh + wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh + ``` -```sh -sudo bash install.sh -m full -``` + ![wget output](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_wget-ls_ru.png) +2. Запустите скрипт установки как администратор: -### 2. Проверяем, что всё установилось правильно: -Запускаем mytonctrl от имени того пользователя, на чьё имя установили: + ```sh + sudo bash install.sh -m full + ``` -```sh -mytonctrl -``` +## 2. Тест на работоспособность: -Смотрим статус mytonctrl. Здесь нас интересует: +1. Запустите **mytonctrl** с локальной учетной записью пользователя, используемой для установки на шаге 1: -- Статус ядра mytoncore. Должен быть зелёным. -- Статус локального валидатора. Должен быть зелёным. -- Рассинхронизация локального валидатора. Вначале будет огромное число. После того, как валидатор свяжется с остальными валидаторами, число станет около 250к. Затем, по мере синхронизации валидатора, число будет уменьшаться. Как только число станет меньше 20 — значит, валидатор синхронизировался. + ```sh + mytonctrl + ``` -![status](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-status_ru.png) +2. Проверьте статусы **mytonctrl**, в частности следующие: + +* **mytoncore status**: должен быть зеленым. +* **Local validator status**: также должен быть зеленым. +* **Local validator out of sync**: Сначала отображается большое число. Как только новый валидатор подключается к другим валидаторам, число будет около 250k. По мере синхронизации это число уменьшается. Когда оно падает ниже 20, валидатор синхронизирован. + + ![status](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/mytonctrl-status.png) Смотрим доступные кошельки. Кошелек validator_wallet_001 был создан при установке mytonctrl: ![wallet list](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-wl_ru.png) +## 3. Просмотр списка доступных кошельков +Просмотрите список доступных кошельков. В нашем примере кошелек **validator_wallet_001** был создан при установке **mytonctrl**: -### 3. Закидываем необходимое количество монет на кошелёк валидатора и активируем кошелёк: -Минимальное количество монет для участи в одних выборах можно посмотреть на сайте tonmon.xyz, раздел `Participants stakes`. +![wallet list](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-wl_ru.png) -На скрине команда `vas` отображает историю переводов, а команда `aw` активирует кошелек: +## 4. Отправьте необходимое количество монет в кошелек и активируйте его +Чтобы проверить минимальное количество монет, необходимое для участия в одном раунде выборов, перейдите на **tonmon.xyz** > **Участники ставок**. -![account history](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-vas-aw_ru.png) +* Команда `vas` отображает историю переводов +* Команда `aw` активирует кошелек + ![account history](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-vas-aw_ru.png) -### 4. На данном этапе всё уже готово для работы валидатора -mytoncore будет автоматически участвовать в выборах — разделит баланс кошелька на две части и будет использовать их как ставку для участия в выборах. Можно самому в ручном режиме установить размер стейка: +## 5. Теперь ваш валидатор готов к работе +**mytoncore** автоматически присоединяется к выборам. Он делит баланс кошелька на две части и использует их в качестве ставки для участия в выборах. Вы также можете вручную установить размер ставки: -`set stake 50000` — установили размер стейка в 50к монет. Если ставка была принята и мы стали валидатором, то забрать свою ставку мы сможем только на вторые выборы — таковы правила электора. +`set stake 50000` — установить размер ставки в 50k монет. Если ставка принята и наш узел становится валидатором, ставку можно вернуть только на вторых выборах (согласно правилам электората). ![setting stake](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-set_ru.png) -Не стесняйтесь команды help: +Не стесняйтесь обращаться за помощью. ![help command](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-help_ru.png) -Логи mytoncrl можно смотреть в `~/.local/share/mytoncore/mytoncore.log` если он был установлен не от лица root, иначе в `/usr/local/bin/mytoncore/mytoncore.log`. +Для проверки логов **mytoncrl** откройте `~/.local/share/mytoncore/mytoncore.log` для локального пользователя или `/usr/local/bin/mytoncore/mytoncore.log` для Root. -![logs](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytoncore-log.png) +![logs](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytoncore-log.png) \ No newline at end of file diff --git a/docs/ru/nominator-pool.md b/docs/ru/nominator-pool.md index 6550169a..a735f1b8 100644 --- a/docs/ru/nominator-pool.md +++ b/docs/ru/nominator-pool.md @@ -1,32 +1,32 @@ -# Пул номинаторов +# Номинаторский пул -## Запуск валидатора в режиме пула номинаторов +## Запуск валидатора в режиме номинаторского пула -1. Подготовить оборудование для валидатора - 8 vCPUs, 64GB памяти, 1TB SSD, фиксированный IP-адрес, 1Gb/s. +1. Подготовьте аппаратное обеспечение для валидатора - 8 виртуальных ядер, 64GB памяти, 1TB SSD, фиксированный IP-адрес, скорость интернета 1Gb/s. - Для поддержания стабильности сети рекомендуется распределять ноды валидаторов в разных точках мира и не концентрировать их в одном дата-центре. - Используйте https://status.toncenter.com/, чтобы определить загруженность локации. По карте видно, что высокую загруженность - имеют дата-центры Европы, а именно в Finland, Germany, Paris. Вследствие чего, крайне не рекомендуем использовать таких провайдеров как Hetzner и OVH. + Для поддержания стабильности сети рекомендуется разместить валидаторы в различных местах по всему миру, а не концентрировать их в одном дата-центре. Вы можете использовать [этот сайт](https://status.toncenter.com/) для определения нагрузки на различные места. Согласно карте, высокая нагрузка на дата-центры в Европе, особенно в Финляндии, Германии и Париже. Поэтому использование провайдеров, таких как Hetzner и OVH, не рекомендуется. - > Ваше оборудование должно соответствовать указанной конфигурации или быть выше. Не запускайте валидатор на слабом железе — это негативно влияет на сеть и вас оштрафуют. + > Ваше оборудование должно соответствовать указанной конфигурации или быть выше. Запуск валидатора на слабом оборудовании негативно влияет на сеть и может привести к штрафам. - > С мая 2021 года Hetzner запретил майнинг на своих серверах, в данный момент под это правило попадают как PoW, так и PoS алгоритмы. Поднятие обычной ноды уже будет считаться нарушением условий соглашения. + > С мая 2021 года Hetzner запретил майнинг на своих серверах, в настоящее время под это правило попадают алгоритмы PoW и PoS. Установка даже обычного узла будет считаться нарушением условий договора. - > **Рекомендуемые провайдеры:** [amazon](https://aws.amazon.com/), [digitalocean](https://www.digitalocean.com/), [linode](https://www.linode.com/), [alibaba cloud](https://alibabacloud.com/), [latitude](https://www.latitude.sh/). + > **Рекомендуемые провайдеры:** [Amazon](https://aws.amazon.com/), [DigitalOcean](https://www.digitalocean.com/), [Linode](https://www.linode.com/), [Alibaba Cloud](https://alibabacloud.com/), [Latitude](https://www.latitude.sh/). -2. Установите и синхронизируйте **mytonctrl**, как описано в https://github.com/ton-blockchain/mytonctrl/blob/master/docs/en/manual-ubuntu.md **только** пункты 1, 2 и 3. +2. Установите и синхронизируйте **mytonctrl** в соответствии с описанием в [этой инструкции](https://github.com/ton-blockchain/mytonctrl/blob/master/docs/ru/manual-ubuntu.md) — следуйте **только** пунктам 1, 2 и 3. - [Видеоинструкция](https://ton.org/docs/#/nodes/run-node). + Вы также можете обратиться к этой [Видеоинструкции](https://ton.org/docs/#/nodes/run-node) для дополнительной помощи. -3. Отправьте 1 TON на адрес кошелька валидатора, отображаемый в списке `wl`. +3. Переведите 1 TON на адрес кошелька валидатора, который отображается в списке `wl`. -4. Введите `aw` чтобы активировать кошелек валидатора. +4. Используйте команду `aw` для активации кошелька валидатора. 5. Создайте два пула (для четного и нечетного раунда проверки): + ``` new_pool p1 0 1 1000 300000 new_pool p2 0 1 1001 300000 ``` + где * `p1` — имя пула; * `0` % — это доля вознаграждения валидатора (например, используйте 40 для 40%); @@ -48,6 +48,7 @@ ``` 7. Отправьте по 1 TON в каждый пул и активируйте пулы: + ``` mg validator_wallet_001 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT 1 mg validator_wallet_001 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL 1 @@ -56,6 +57,7 @@ ``` 8. Введите `pools_list` чтобы отобразить адреса пулов: + ``` pools_list Name Status Balance Address @@ -65,48 +67,52 @@ 9. Откройте каждый пул по ссылке "https://tonscan.org/nominator/" и проверьте конфигурацию пулов. -10. Внесите депозит валидатора в каждый пул: - ``` +10. Совершите депозит валидатора в каждый пул: + + ```bash deposit_to_pool validator_wallet_001 1005 deposit_to_pool validator_wallet_001 1005 ``` - где `1005` TON – сумма депозита. Обратите внимание, что 1 TON будет списана пулом для обработки депозита. + где `1005` TON - это сумма депозита. Обратите внимание, что пул вычтет 1 TON за обработку депозита. -11. Внесите депозит номинатора в каждый пул: +11. Совершите депозит номинатора в каждый пул: - Перейдите по ссылке пула (**9-ый шаг**) и нажмите **ADD STAKE**. - Вы также можете внести депозит с помощью **mytonctrl**, для этого используйте команды ниже. + Перейдите по ссылке пула (из **шага 9**) и нажмите **ADD STAKE**. + Вы также можете сделать депозит, используя **mytonctrl**, с помощью следующих команд: - ``` + ```bash mg nominator_wallet_001 300001 -C d mg nominator_wallet_001 300001 -C d ``` > (!) Кошелек номинатора должен быть инициализирован в basechain (workchain 0). - > (!) Имейте ввиду, что кошелек валидатора и кошелек номинатора необходимо хранить отдельно! Кошелек валидатора храниться на сервере с нодой валидатора, для обеспечения обработки всех системных транзакций. Кошелек номинатора хранится на вашем холодном криптокошельке. + > (!) Обратите внимание, что кошельки валидатора и номинатора должны храниться отдельно! Кошелек валидатора должен храниться на сервере с узлом валидатора для обработки всех системных транзакций. Кошелек номинатора следует хранить в вашем холодном криптовалютном кошельке. - > Чтобы забрать депозит номинатора, отправьте транзакцию с комментарием `w` на адрес пула (необходимо прикрепить 1 TON для обработки транзакции). Вы также можете сделать это с помощью **mytonctrl**. + > Чтобы снять депозит номинатора, отправьте транзакцию с комментарием `w` на адрес пула (должен быть прикреплен 1 TON для обработки транзакции). Вы также можете сделать это с помощью **mytonctrl**. 12. Активируйте режим пула: - ``` + + ```bash set usePool true + set stake null ``` -13. Приглашайте номинаторов вносить депозиты в ваши пулы. Участие в валидации начнется автоматически. - > (!) Вам необходимо иметь не менее 200 TON/месяц на кошельке валидатора для оплаты операций. +13. Пригласите номинаторов сделать депозиты в ваши пулы. Участие в валидации начнется автоматически. + + > (!) Убедитесь, что у вас на кошельке валидатора есть как минимум 200 TON в месяц на операционные расходы. -## Конфигурация пулов +## Настройка пулов -Если вы хотите одолжить себе, используйте `new_pool p1 0 1 1000 300000` (максимум 1 номинатор, доля валидатора 0%). +Если вы хотите давать в долг самому себе, то используйте `new_pool p1 0 1 1000 300000` (максимум 1 номинант, 0% доли валидатора). -Если вы создаете пул для многих номинаторов, используйте что-то вроде этого: `new_pool p1 40 40 10000 10000` (максимум 40 номинаторов, доля валидатора 40%, минимальные доли участников 10 000 ТОН). +Если вы создаете пул для многих номинантов, то используйте что-то вроде этого: `new_pool p1 40 40 10000 10000` (максимум 40 номинантов, 40% доли валидатора, минимальная ставка участника 10K TON). -## Переключение обычного валидатора в режим пула номинаторов +## Переключение обычного валидатора в режим номинантского пула -1. Наберите `set stake 0` чтобы отключить участие в выборах. +1. Введите `set stake 0`, чтобы отключить участие в выборах. -2. Подождите, пока обе ваши ставки вернутся от электора. +2. Дождитесь, когда оба ваших депозита вернутся от электора. -3. Выполните шаги "Запуск валидатора в режиме пула номинаторов" начиная с **4-го** шага. +3. Следуйте инструкциям "Запуск валидатора в режиме номинантского пула", начиная с **4-го шага**. \ No newline at end of file diff --git a/docs/zh_TW/FAQ.md b/docs/zh_TW/FAQ.md new file mode 100644 index 00000000..54bfce6e --- /dev/null +++ b/docs/zh_TW/FAQ.md @@ -0,0 +1,121 @@ +# MyTonCtrl 使用的目錄 + +MyTonCtrl 是一個包裝器,會在兩個地方儲存檔案: + +1. `~/.local/share/mytonctrl/` - 儲存長期檔案,如日誌檔 +2. `/tmp/mytonctrl/` - 儲存臨時檔案 + +MyTonCtrl 也包含了另一個腳本 mytoncore,它將檔案儲存到以下位置: + +1. `~/.local/share/mytoncore/` - 持久檔案,主要的設定檔會儲存在這裡 +2. `/tmp/mytoncore/` - 臨時檔案,選舉使用的參數將會保存在此 + +MyTonCtrl 會將自身和驗證者的源碼下載到以下資料夾: + +1. `/usr/src/mytonctrl/` +2. `/usr/src/ton/` + +MyTonCtrl 會將驗證者的組件編譯到以下資料夾: + +1. `/usr/bin/ton/` + +MyTonCtrl 會在這裡建立一個驗證者工作的資料夾: + +1. `/var/ton/` + +--- + +## 若 MyTonCtrl 以 root 使用者安裝: + +那麼,設定檔會以不同的方式存放: + +1. `/usr/local/bin/mytonctrl/` +2. `/usr/local/bin/mytoncore/` + +--- + +## 如何移除 MyTonCtrl: + +以管理員身份執行腳本並移除已編譯的 TON 組件: + +```bash +sudo bash /usr/src/mytonctrl/scripts/uninstall.sh +sudo rm -rf /usr/bin/ton +``` + +在這個過程中,確保你有足夠的權限來刪除或更改這些檔案或目錄。 + +# 處理錯誤和更改 MyTonCtrl 的工作目錄 + +如果您在使用不同的使用者執行 MyTonCtrl 時遇到問題,或者您想要在安裝前更改驗證者的工作目錄,以下的指南可以提供幾種解決方案。 + +## 以不同的使用者執行 MyTonCtrl + +當以不同的使用者執行 MyTonCtrl 時,可能會出現以下錯誤: + +``` +Error: expected str, bytes or os.PathLike object, not NoneType +``` + +要解決此問題,您需要以安裝 MyTonCtrl 的使用者執行程式。 + +## 在安裝前更改驗證者的工作目錄 + +如果您想在安裝前更改驗證者的工作目錄,有兩種方式可以達成: + +1. **分叉專案** - 您可以分叉專案並在其中進行修改。查看 `man git-fork` 指令以瞭解如何進行分叉操作。 +2. **創建符號連結** - 您也可以使用以下指令創建一個符號連結: + + ```bash + ln -s /opt/ton/var/ton + ``` +此指令會創建一個名為 `/var/ton` 的連結,導向 `/opt/ton` 目錄。 + +## 在安裝後更改驗證者的工作目錄 + +如果您希望在安裝後將驗證者的工作目錄從 `/var/ton/` 改為其他目錄,請按照以下步驟進行: + +1. **停止服務** - 使用以下指令停止相關服務: + + ```bash + systemctl stop validator + systemctl stop mytoncore + ``` + +2. **移動驗證者的檔案** - 接著使用以下指令將驗證者的檔案移至新的目錄: + + ```bash + mv /var/ton/* /opt/ton/ + ``` + +3. **更改配置中的路徑** - 將 `~/.local/share/mytoncore/mytoncore.db` 中的路徑替換為新的路徑。 + +4. **注意事項** - 之前並未有過如此的轉移經驗,所以進行此操作時請小心。 + +請確認您擁有足夠的權限來執行這些修改和指令。 + +# 如何在 MyTonCtrl 中確認驗證者狀態並重啟驗證者 + +本文檔將幫助你了解如何確認 MyTonCtrl 是否已成為全功能驗證者,以及如何重啟你的驗證者。 + +## 在 MyTonCtrl 中確認驗證者狀態 + +你可以透過以下條件來確認你的節點是否已成為全功能驗證者: + +1. **驗證者的異步狀態** - 本地驗證者的異步狀態應該小於 20。 +2. **驗證者的索引** - 驗證者的索引應該大於 -1。 + +你可以透過 MyTonCtrl 的 `vl` 命令查看驗證者的工作率: + +1. 在列表中按照其 ADNL 地址(`adnlAddr`)找到你的驗證者。 +2. 如果 `mr` 和 `wr` 的係數接近 1,則表示你的驗證者運行正常。 + +## 重啟你的驗證者 + +如果你需要重啟你的驗證者,可以執行以下命令: + +```bash +systemctl restart validator +``` + +請確保你具有執行這些命令的適當權限,並進行必要的調整。在執行可能影響你的驗證者的操作之前,請始終記得備份重要數據。 \ No newline at end of file diff --git a/docs/zh_TW/import-wallets.md b/docs/zh_TW/import-wallets.md new file mode 100644 index 00000000..8564ed68 --- /dev/null +++ b/docs/zh_TW/import-wallets.md @@ -0,0 +1,36 @@ +# 匯入錢包 + +MyTonCtrl支援多種類型的類似錢包的合約,包括wallet-v1,wallet-v3,[lockup-wallet](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal)等等。通常,這是處理這些合約的最簡單方法。 + +## 使用私鑰匯入 + +如果你知道私鑰,你只需要在控制台輸入以下指令: + +``` +iw +``` + +在此,`` 是以base64格式的私鑰。 + +## 使用助記詞匯入 + +如果你知道助記詞短語(像是由24個單詞組成的短語,例如 `tattoo during ...`),請執行以下步驟: + +1. 安裝Node.js。 +2. 複製並安裝 [mnemonic2key](https://github.com/ton-blockchain/mnemonic2key): + ``` + git clone https://github.com/ton-blockchain/mnemonic2key.git + cd mnemonic2key + npm install + ``` +3. 執行以下命令,其中 `word1`,`word2` ... 是你的助記詞短語,`address` 是你的錢包合約地址: + ``` + node index.js word1 word2 ... word24 [address] + ``` +4. 腳本將生成 `wallet.pk` 和 `wallet.addr`,將它們重命名為 `imported_wallet.pk` 和 `imported_wallet.addr`。 +5. 將這兩個檔案複製到 `~/.local/share/mytoncore/wallets/` 目錄。 +6. 開啟mytonctrl控制台,並使用 `wl` 命令列出錢包。 +7. 確認錢包已經匯入並且餘額正確。 +8. 現在你可以使用 `mg` 命令發送金錢(輸入 `mg` 可查看使用說明)。 + +在執行命令時,記得將尖括號內的佔位符(例如 ``、``)替換為實際的值。 \ No newline at end of file diff --git a/docs/zh_TW/manual-ubuntu.md b/docs/zh_TW/manual-ubuntu.md new file mode 100644 index 00000000..4ab6da0a --- /dev/null +++ b/docs/zh_TW/manual-ubuntu.md @@ -0,0 +1,67 @@ +# 如何使用 mytonctrl 成為驗證者 (v0.2, Ubuntu操作系統) + +以下為使用 mytonctrl 成為驗證者的步驟。此範例適用於Ubuntu操作系統。 + +## 1. 安裝 mytonctrl: + +1. 下載安裝腳本。我們建議在您的本地用戶帳戶下安裝該工具,而非 Root。在我們的示例中,使用的是本地用戶帳戶: + + ```sh + wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh + ``` + + ![wget output](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_wget-ls_ru.png) + +2. 以管理員身份運行安裝腳本: + + ```sh + sudo bash install.sh -m full + ``` + +## 2. 操作測試: + +1. 從在第一步中用於安裝的本地用戶帳戶運行 **mytonctrl**: + + ```sh + mytonctrl + ``` + +2. 檢查 **mytonctrl** 的狀態,特別是以下幾點: + +* **mytoncore status**:應為綠色。 +* **Local validator status**:應為綠色。 +* **Local validator out of sync**:首次顯示出一個大數字。新創建的驗證者一旦與其他驗證者聯繫,該數字約為250k。隨著同步的進行,這個數字會減少。當它降至20以下時,驗證者就同步了。 + + ![status](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/mytonctrl-status.png) + + +## 3. 查看可用錢包列表 + +檢查可用的錢包列表。例如,在安裝 **mytonctrl** 時,會創建 **validator_wallet_001** 錢包: + +![wallet list](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-wl_ru.png) + +## 4. 向錢包發送所需數量的幣並激活它 + +要確定參與一輪選舉所需的最小幣數,請轉到 **tonmon.xyz** > **參與者賭注**。 + +* 使用 `vas` 命令顯示轉賬歷史 +* 使用 `aw` 命令激活錢包 + + ![account history](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-vas-aw_ru.png) + +## 5. 現在你的驗證人準備好了 + +**mytoncore** 將自動加入選舉。它將錢包餘額分為兩部分,並將它們作為賭注參與選舉。您也可以手動設定賭注大小: + +`set stake 50000` — 這將賭注大小設定為50k幣。如果賭注被接受,並且我們的節點成為驗證人,則只能在第二次選舉中撤回賭注(根據選民的規則)。 + +![setting stake](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-set_ru.png) + +您也可以隨時命令求助。 + +![help command](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytonctrl-help_ru.png) + +要檢查 **mytoncrl** 日誌,對於本地用戶,打開 `~/.local/share/mytoncore/mytoncore.log`,對於 Root,打開 `/usr/local/bin/mytoncore/mytoncore.log`。 + +![logs](https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/screens/manual-ubuntu_mytoncore-log.png) \ No newline at end of file diff --git a/docs/zh_TW/nominator-pool.md b/docs/zh_TW/nominator-pool.md new file mode 100644 index 00000000..e3fac6fe --- /dev/null +++ b/docs/zh_TW/nominator-pool.md @@ -0,0 +1,117 @@ +# Nominator pool + +## 在提名人池模式下運行驗證人 + +1. 為驗證人準備硬體 - 8個虛擬 CPU、64GB 內存、1TB SSD、固定 IP 地址、1Gb/s 的網路速度。 + + 為了維護網路穩定性,建議將驗證節點分布在世界不同地點,而不是集中在一個數據中心。可以使用 https://status.toncenter.com/ 確定位置的負載。根據地圖,你可以看到歐洲、芬蘭、德國和巴黎的數據中心使用率高。因此,我們不建議使用像 Hetzner 和 OVH 這樣的提供商。 + + > 你的硬體必須符合指定的配置或更高。不要在弱硬體上運行驗證器 - 這將對網路產生負面影響,並將對你進行罰款。 + + > 由於 2021 年 5 月,Hetzner 已經禁止在其伺服器上挖礦,目前 PoW 和 PoS 算法都適用於此規則。即使安裝了常規節點,也將被視為違反協議條款。 + + > **推薦的提供商:** [amazon](https://aws.amazon.com/), [digitalocean](https://www.digitalocean.com/), [linode](https://www.linode.com/), [alibaba cloud](https://alibabacloud.com/), [latitude](https://www.latitude.sh/). + +2. 安裝並同步 **mytonctrl**,如 https://github.com/ton-blockchain/mytonctrl/blob/master/docs/zh_TW/manual-ubuntu.md 中描述的那樣,**僅**執行步驟1、2和3。 + + [視頻指導](https://ton.org/docs/#/nodes/run-node)。 + +3. 將 1 TON 發送到顯示在 `wl` 列表中的驗證人錢包地址。 + +4. 輸入 `aw` 以啟動驗證人錢包。 + +5. 建立兩個池子(對於偶數和奇數的驗證輪次): + + ``` + new_pool p1 0 1 1000 300000 + new_pool p2 0 1 1001 300000 + ``` + 其中 + * `p1` 是池名稱; + * `0` % 是驗證人的獎勵份額(例如,對於 40% 使用 40); + * `1` 是池中的最大提名人數量(應 <= 40); + * `1000` TON 是最低驗證人的股份(應 >= 1K TON); + * `300000` TON 是最低提名人的股份(應 >= 10K TON); + + > (!) 池的配置不必相同,你可以向其中一個池的最小股份增加 1 以使它們不同。 + + > (!) 使用 https://tonmon.xyz/ 確定當前最小驗證人股份。 + +6. 輸入 `pools_list` 顯示池地址: + + ``` + pools_list + Name Status Balance Address + p1 empty 0 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT + p2 empty 0 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL + ``` + +7. 向每個池發送 1 TON 並激活池: + + ``` + mg validator_wallet_001 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT 1 + mg validator_wallet_001 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL 1 + activate_pool p1 + activate_pool p2 + ``` + +8. 輸入 `pools_list` 來顯示池: + + ``` + pools_list + Name Status Balance Address + p1 active 0.731199733 kf98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780v_W + p2 active 0.731199806 kf9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV8UO + ``` + +9. 打開每個池的連結 "https://tonscan.org/nominator/" 並驗證池配置。 + +10. 向每個池進行驗證者存款: + + ```bash + deposit_to_pool validator_wallet_001 1005 + deposit_to_pool validator_wallet_001 1005 + ``` + + 其中 `1005` TON 是存款金額。請注意,池會扣除 1 TON 用於處理存款。 + +11. 向每個池進行提名人存款: + + 轉到池鏈接(**第9步**)並單擊 **ADD STAKE**。 + 您也可以使用 **mytonctrl** 進行存款,使用以下命令進行。 + + ```bash + mg nominator_wallet_001 300001 -C d + mg nominator_wallet_001 300001 -C d + ``` + + > (!) 提名人錢包必須在 basechain (workchain 0) 初始化。 + + > (!) 請注意,驗證者錢包和提名人錢包必須單獨存放!驗證者錢包存放在具有驗證者節點的服務器上,以確保所有系統交易的處理。提名人錢包存放在您的冷加密貨幣錢包中。 + + > 如需撤回提名人存款,發送附註 `w` 的交易到池地址(必須附加 1 TON 以處理交易)。您也可以使用 **mytonctrl** 進行此操作。 + +12. 啟動池模式: + + ```bash + set usePool true + set stake null + ``` + +13. 邀請提名人向您的池存款。驗證參與將自動開始。 + + > (!) 您需要在驗證者錢包上至少有 200 TON/月的操作費用。 + +## 設定池 + +如果你打算借給自己,則使用 `new_pool p1 0 1 1000 300000`(最大1個提名人,驗證者的份額為0%)。 + +如果你為許多提名人創建池,則可以使用類似以下的設定:`new_pool p1 40 40 10000 10000`(最多40個提名人,驗證者的份額為40%,最低參與者的賭注為10K TON)。 + +## 將一般驗證者轉換為提名人池模式 + +1. 輸入 `set stake 0` 來停止參加選舉。 + +2. 等待你的兩個賭注從選民那裡返回。 + +3. 從**第四步**開始,按照"在提名人池模式下運行驗證者"的步驟進行操作。 \ No newline at end of file