Перейти к основному содержимому

MyTonCtrl

warning

Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.

Общие сведения

Чтобы установить свой собственный узел и управлять им, используйте инструмент с открытым исходным кодом MyTonCtrl, разработанный TON Foundation. Большинство узлов TON надежны и протестированы в MyTonCtrl.

MyTonCtrl — это консольное приложение, которое является удобной оболочкой для fift, lite-client и validator-engine-console. Оно было специально разработано для оптимизации задач управления кошельком, доменом и валидатором в операционной системе Linux.

Мы активно собираем отзывы о процессе установки. Если у вас есть какие-либо вопросы или предложения, пожалуйста, свяжитесь с нами.

Основные команды

help

Без аргументов, выводит текст справки

exit

Без аргументов, выйти из консоли.

update

Обновление mytonctrl. Комбинации параметров:

Формат имениФорматПримерОписание
Без аргументовupdateupdateОбновление из текущего репозитория
Формат URLupdate [https://github.com/author/repo/tree/branch]update https://github.com/ton-blockchain/mytonctrl/tree/testОбновление с указанного URL
Только формат ветвиupdate [BRANCH]update testОбновление из указанной ветви текущего репозитория
Формат переопределения ветвиupdate [https://github.com/authorName/repoName/tree/branchName] [BRANCH]update https://github.com/ton-blockchain/mytonctrl/tree/master testОбновление из ветки, указанной вторым аргументом после названия репозитория

upgrade

Обновление узла. Комбинации параметров:

Формат имениФорматПримерОписание
Без аргументовupgradeupgradeОбновление из текущего репозитория
Формат URLupgrade [https://github.com/author/repo/tree/branch]upgrade https://github.com/ton-blockchain/ton/tree/masterОбновление с указанного URL
Только формат ветвиupgrade [BRANCH]upgrade masterОбновление из указанной ветки текущего репозитория
Формат переопределения ветвиupgrade [https://github.com/authorName/repoName/tree/branchName] [BRANCH]upgrade https://github.com/ton-blockchain/ton/tree/master testnetОбновление из ветки, указанной вторым аргументом после названия репозитория

status

Получаем текущего состояния mytonctrl и узла. Комбинации параметров:

Формат имениФорматПримерОписание
Без аргументовstatusstatusПолный отчет о состоянии, включая эффективность валидатора и онлайн-валидаторы
Быстротаstatus faststatus fastНеобходимо использовать в TestNet. Отчет о состоянии без эффективности валидатора и количества онлайн-валидаторов.

Подробнее о выводе состояния

installer

Без аргументов, запускает установщик модулей TON (скрипт /usr/src/mytonctrl/mytoninstaller.py)

status_modes

Нет аргументов, показать режимы MTC.

status_settings

Без аргументов, показать все доступные настройки с их описанием и значениями.

enable_mode

Включить определенный режим.

MyTonCtrl> enable_mode <mode_name>

Пример:

MyTonCtrl> enable_mode validator

disable_mode

Отключить определенный режим.

MyTonCtrl> disable_mode <mode_name>

Пример:

MyTonCtrl> disable_mode validator

about

Получить описание указанного режима

MyTonCtrl> about <mode_name>

Пример:

MyTonCtrl> about validator

get

Получить значение определенного параметра в формате JSON

MyTonCtrl> get <setting_name>

Пример:

MyTonCtrl> get stake

set

Устанавливает указанное значение заданного параметра. Пропустить проверку существующего параметра, если включен параметр --force

MyTonCtrl> set <setting> <value> [--force]

Пример:

MyTonCtrl> set stake 9000

rollback

Без аргументов, откат к mytonctrl 1.0. Не следует использовать в mytonctrl 1.0.

getconfig

Извлекает и выводит JSON-представление конфигурации, указанной с помощью <config-id>

MyTonCtrl> getconfig <config_id> # config id can be omitted

Пример:

MyTonCtrl> getconfig 0

get_pool_data

Извлекает и выводит JSON-представление данных пула, указанных с помощью <pool-name> или <pool-addr>.

MyTonCtrl> get_pool_data <<pool-name> | <pool-addr>>

Пример:

get_pool_data pool_name # you can check possible pool names using ls /home/install_mytonctrl/.local/share/mytoncore/pools

Оверлеи

Подробнее о оверлеях читайте здесь.

add_custom_overlay

Добавляет пользовательский оверлей с указанным <name>, используя конфигурацию, указанную в <path_to_config>

MyTonCtrl> add_custom_overlay <name> <path_to_config>

Пример:

add_custom_overlay custom /config.json # check link from above to know what config this command requires (/v3/guidelines/nodes/custom-overlays)

list_custom_overlays

Без аргументов, выводит пользовательские оверлеи

delete_custom_overlay

Удаляет пользовательский оверлей с указанным <name>

MyTonCtrl> delete_custom_overlay <name>

Валидатор

vo

Голосует за предложение, указанное в <offer-hash>

MyTonCtrl> vo <offer-hash> # use `ol` to get offers

ve

Без аргументов, голосует за выборы

vc

Голосует за жалобу, указанную в <complaint-hash>, на выборах, указанных в <election-id>

MyTonCtrl> vc <election-id> <complaint-hash>

На самом деле, даже если это сработает, вам следует использовать данные из вашего текущего состояния mytonctrl:

MyTonCtrl> vc 0 0

check_ef

Выводит данные об эффективности валидатора для текущего и предыдущих раундов.

Примечание: данные об эффективности текущего раунда становятся более точными по мере его развития.

На основе validator index (можно получить с помощью команды status) возможны три сценария:

  • Validator index is in the range [0, max_main_validators): validator efficiency должен быть выше 90% (число может быть изменено в будущем на основе статистики) для всего раунда; в противном случае может быть наложен штраф.

  • Validator index is in the range [max_main_validators, max_validators): validator efficiency должен быть выше 90% (число может быть изменено в будущем на основе статистики) для всего раунда. В настоящее время штраф не применяется, но это может измениться в будущих обновлениях.

  • The user is not a validator: Штрафы не применяются, но пользователь также не имеет права на вознаграждение. Нет validator efficiency для проверки. Это может быть вызвано низким стейком или неправильной конфигурацией узла. Кроме того, убедитесь, что mytonctrl работает без перебоев.

Узнайте больше о max_validators и max_main_validators на странице параметров конфигурации. Получите фактические значения для mainnet и для testnet.

Команды пула

Получите больше информации на странице пула номинаторов.

deposit_to_pool

Вносит указанное количество <amount> в пул, указанный <pool-addr>

MyTonCtrl> deposit_to_pool <pool-addr> <amount>

Пример:

MyTonCtrl> deposit_to_pool kf_JcC5pn3etTAdwOnc16_tyMmKE8-ftNUnf0OnUjAIdDJpX 1

withdraw_from_pool

Выводит указанное количество <amount> из пула, указанного <pool-addr>

MyTonCtrl> withdraw_from_pool <pool-addr> <amount>

Пример:

MyTonCtrl> withdraw_from_pool kf_JcC5pn3etTAdwOnc16_tyMmKE8-ftNUnf0OnUjAIdDJpX 1

cleanup

Без аргументов, очистка базы данных валидатора

benchmark

Без аргументов, выводит таблицу с несколькими тестами

Единый пул

Получите дополнительную информацию на странице единого пула номинаторов.

new_single_pool

Создает новый единый пул с указанными <pool-name> и <owner-address>

MyTonCtrl> new_single_pool <pool-name> <owner-address>

Пример:

MyTonCtrl> new_single_pool name kf9tZrL46Xjux3ZqvQFSgQkOIlteJK52slSYWbasqtOjrKUT

activate_single_pool

Активирует единый пул, указанный <pool-name>

MyTonCtrl> activate_single_pool <pool-name> # pool name from above

Управление кошельком

Импорт кошелька

MyTonCtrl поддерживает различные типы контрактов, подобных кошельку, включая wallet-v1, wallet-v3, lockup-wallet и другие. Он предоставляет простой способ взаимодействия с этими контрактами.

Импорт с использованием закрытого ключа

Если у вас есть доступ к закрытому ключу, вы можете легко импортировать кошелек:

MyTonCtrl> iw <wallet-addr> <wallet-secret-key>

Здесь <wallet-secret-key> — ваш закрытый ключ в формате base64.

Пример:

MyTonCtrl> iw kf9tZrL46Xjux3ZqvQFSgQkOIlteJK52slSYWbasqtOjrKUT AAAH++/ve+/vXrvv73vv73vv73vv71DWu+/vWcpA1E777+92Ijvv73vv70iV++/ve+/vUTvv70d77+9UFjvv71277+9bO+/ve+/vXgzdzzvv71i77+977+9CjLvv73vv73vv71i77+9Bu+/vV0oJe+/ve+/vUPvv73vv73vv70=

Импорт с использованием мнемонической фразы

Если у вас есть мнемоническая фраза (последовательность из 24 слов, например tattoo during ...), выполните следующие действия:

  1. Установите Node.js.
  2. Клонируйте и установите 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, чтобы просмотреть справочную документацию. Не забудьте заменить заполнители (слова внутри < >) на ваши фактические значения при запуске команд.

Показать список кошельков

MyTonCtrl> wl

Создать новый локальный кошелек

Также вы можете создать новый пустой кошелек:

MyTonCtrl> nw <workchain-id> <wallet-name> [<version> <subwallet>]

Пример:

MyTonCtrl> nw 0 name v3 # by default subwallet is 0x29A9A317 + workchain

Активировать локальный кошелек

Если вы хотите использовать кошелек, его необходимо активировать:

MyTonCtrl> aw <wallet-name>

Но перед активацией отправьте 1 Toncoin на кошелек:

MyTonCtrl> wl
Name Status Balance Ver Wch Address
validator_wallet_001 active 994.776032511 v1 -1 kf_dctjwS4tqWdeG4GcCLJ53rkgxZOGGrdDzHJ_mxPkm_Xct
wallet_004 uninit 0.0 v1 0 0QBxnZJq4oHVFs4ban3kJ5qllM1IQo57lIx8QP69Ue9A6Kbs

MyTonCtrl> mg validator_wallet_001 0QBxnZJq4oHVFs4ban3kJ5qllM1IQo57lIx8QP69Ue9A6Kbs 1

Затем активируйте его:

MyTonCtrl> aw wallet_004
ActivateWallet - OK

MyTonCtrl> wl
Name Status Balance Ver Wch Address
validator_wallet_001 active 994.776032511 v1 -1 kf_dctjwS4tqWdeG4GcCLJ53rkgxZOGGrdDzHJ_mxPkm_Xct
wallet_004 active 0.998256399 v1 0 kQBxnZJq4oHVFs4ban3kJ5qllM1IQo57lIx8QP69Ue9A6Psp

Получить порядковый номер кошелька

MyTonCtrl> seqno <wallet-name>

Установить версию кошелька

Эта команда необходима, когда используется модифицированный кошелек с методами взаимодействия, похожими на обычный.

MyTonCtrl> swv <wallet-addr> <wallet-version>

Пример:

MyTonCtrl> swv kf9tZrL46Xjux3ZqvQFSgQkOIlteJK52slSYWbasqtOjrKUT v3

Экспорт кошелька

Можно получить определенный адрес кошелька и секретный ключ.

MyTonCtrl> ew <wallet-name>

Удалить локальный кошелек

MyTonCtrl> dw <wallet-name>

Команды для акааунта и транзакций

Состояние аккаунта

Чтобы проверить состояние аккаунта и историю его транзакций, используйте следующую команду:

MyTonCtrl> vas <account-addr> # for example you can get address of validator wallet by wl command and use vas to get more information

История аккаунта

Чтобы проверить историю транзакций аккаунта, используйте следующую команду, указав объем списка операций в качестве limit:

MyTonCtrl> vah <account-addr> <limit> # limit is just unsigned integer number

Перевод монет

Перевод монет из локального кошелька на аккаунт:

MyTonCtrl> mg <wallet-name> <account-addr | bookmark-name> <amount>

Пример:

MyTonCtrl> mg wallet_004 kQBxnZJq4oHVFs4ban3kJ5qllM1IQo57lIx8QP69Ue9A6Psp 1
предупреждение

Версия кошелька 'v4' не поддерживается для передачи

Перевод монет через прокси

Перевод монет из локального кошелька на аккаунт через прокси:

MyTonCtrl> mgtp <wallet-name> <account-addr | bookmark-name> <amount>

Пример:

MyTonCtrl> mgtp wallet_004 kQBxnZJq4oHVFs4ban3kJ5qllM1IQo57lIx8QP69Ue9A6Psp 1

Основные команды для пулов

В MyTonCtrl есть два типа пулов:

  1. Пул номинатора
  2. Единый пул номинатора

Все они управляются следующим набором команд:

Список пулов

MyTonCtrl> pools_list

Удалить пул

MyTonCtrl> delete_pool <pool-name>

Импорт пула

Вы можете добавить уже созданный пул в список локальных пулов:

MyTonCtrl> import_pool <pool-name> <pool-addr>

Пример:

MyTonCtrl> import_pool name kf_JcC5pn3etTAdwOnc16_tyMmKE8-ftNUnf0OnUjAIdDJpX

Закладки

Вы можете создать закладку (bookmark) для адреса аккаунта, чтобы упростить его использование.

Создать новую закладку

MyTonCtrl> nb <bookmark-name> <account-addr | domain-name>

Показать список закладок

MyTonCtrl> bl

Удалить закладку

MyTonCtrl> db <bookmark-name> <bookmark-type>

Другие команды mytonctrl

ol

Показать список предложений

Формат имениФорматОписание
Без аргументовolВыводит таблицу с сокращенными хэшами.
Вывод JSONol --jsonВыводит JSON-представление data.
Полный вывод хэшаol hashВыводит таблицу с полными хэшами.
JSON с полным хэшемol --json hashВыводит JSON-представление data. Аргумент "hash" в этом случае не имеет значения.

od

Извлекает разницу предложений

MyTonCtrl> od [offer-hash]

el

Показать список записей выборов

Формат имениФорматОписание
Без аргументовelВыводит таблицу с сокращенными ADNL, Pubkey и Wallet.
Любая комбинация следующих аргументовel --json adnl pubkey wallet pastПолные записи ADNL, Pubkey, Wallet и прошлых выборов в JSON представлении.

Описания для каждого аргумента:

  • --json: Выводит JSON-представление данных.
  • past: Включает записи прошлых выборов.
  • adnl: Выводит полный ADNL.
  • pubkey: Выводит полный Pubkey.
  • wallet: выводит полный кошелек.

vl

Показать активных валидаторов

Формат имениФорматОписание
Без аргументовvlВыводит таблицу с сокращенными ADNL, Pubkey и Wallet.
Любая комбинация следующих аргументовvl --json adnl pubkey wallet pastПолные записи ADNL, Pubkey, Wallet и прошлых валидаторов в JSON представлении.

Описания для каждого аргумента:

  • --json: выводит JSON-представление данных.
  • past: включает прошлые записи валидаторов.
  • adnl: выводит полный ADNL.
  • pubkey: выводит полный Pubkey.
  • wallet: выводит полный Wallet.
  • offline: исключает онлайн-валидаторы.

cl

Показать список жалоб

Формат имениФорматОписание
Без аргументовclВыводит таблицу с сокращенным ADNL.
Любая комбинация следующих аргументовcl --json adnl pastПолный ADNL с прошлыми жалобами в JSON представлении.

Описания для каждого параметра:

  • --json: Выводит представление данных в формате JSON.
  • past: Включает прошлые жалобы.
  • adnl: Выводит полный ADNL.

Установщик

В этом разделе описывается подконсоль installer, которую можно открыть командой

MyTonCtrl> installer

Пример:

img.png

Все команды можно вызывать напрямую из консоли MyTonCtrl

MyTonCtrl> installer [command] [args]

help

выводит все доступные команды

clear

очистка терминала

exit

Выход из терминала mytoninstaller

status

выводит состояние служб (полного узла, Mytoncore, V.console, Liteserver) и аргументы узла

set_node_argument

Формат имениФорматОписание
Добавить или заменить аргументset_node_argument [-ARG_NAME] [ARG_VALUE]Добавить аргумент или заменить его значение, если оно существует. -ARG_NAME должен иметь - или -- в начале
Удалить аргументset_node_argument [-ARG_NAME] -dУдалить аргумент из списка.

Возможные аргументы:

Имя аргумента узлаОписаниеЗначение по умолчанию
threadsколичество потоковcpus count - 1
daemonizeНет значения
global-configпуть к глобальной конфигурации/usr/bin/ton/global.config.json
dbпуть к базе данных/var/ton-work/db/
lognameпуть к журналам/var/ton-work/log
state-ttlttl состояний блокчейна, которые хранит узел3600
archive-ttlttl блоков, которые хранит узел. Чтобы заставить узел не хранить архивные блоки, используйте значение 864002592000, если режим liteserver был включен во время установки, в противном случае 86400

Пример:

MyTonInstaller> set_node_argument --state-ttl 3601

Пример:

MyTonInstaller> set_node_argument --state-ttl 3601

enable

Включить один из режимов, для ton-http-api создает конфигурацию

MyTonInstaller> enable <MODE_NAME>

Режимы могут иметь следующие названия:

  • FN - Full Node
  • VC - Validator Console
  • LS - Lite Server
  • DS - DHT Server
  • JR - Jsonrpc
  • THA - TON HTTP API
  • LSP - ls proxy
  • TSP - TON storage + TON storage provider

Пример:

MyTonInstaller> enable FN

update

То же, что enable для mytoninstaller

MyTonInstaller> update FN

plsc

Вывод конфигурации liteserver

Пример:

{
"ip": 1111111111,
"port": 11111,
"id": {
"@type": "pub.ed25519",
"key": "UURGaaZZjsBbKHvnrBqslHerXYbMCVDKdswKNJvAHkc="
}
}

clcf

Создать локальный файл конфигурации (по умолчанию /usr/bin/ton/local.config.json)

Вывод конфигурации ls proxy

create_ls_proxy_config_file

Пока ничего не делает, на стадии этапа разработки

drvcf

Файл конфигурации опасного восстановления валидатора

setwebpass

Без аргументов. Установите пароль для веб-интерфейса администратора, запустите python3 /usr/src/mtc-jsonrpc/mtc-jsonrpc.py -p.

См. также