From d7e879bd79cf05712f2f9bee7b092fa0f5e685a2 Mon Sep 17 00:00:00 2001 From: yungwine Date: Wed, 19 Jun 2024 13:27:26 +0700 Subject: [PATCH 1/5] add warning to update to mtc2.0 for non-validators --- mytonctrl.py | 11 ++++++++++- translate.json | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mytonctrl.py b/mytonctrl.py index 046d1676..6804a30b 100755 --- a/mytonctrl.py +++ b/mytonctrl.py @@ -109,7 +109,8 @@ def Init(argv): #end define def PreUp(): - CheckMytonctrlUpdate() + CheckMytonctrlUpdate() # check mtc current branch update only if there wasnt warning about mtc2 + CheckMytonctrl2Update() CheckDiskUsage() check_vport() # CheckTonUpdate() @@ -229,6 +230,14 @@ def CheckMytonctrlUpdate(): #end define +def CheckMytonctrl2Update(): + if not ton.find_myself_in_vl(): # we are not validator in current and prev rounds + print('============================================================================================') + color_print(local.translate("update_mtc2_warning")) + print('============================================================================================') +# end define + + def CheckDiskUsage(): usage = ton.GetDbUsage() if usage > 90: diff --git a/translate.json b/translate.json index 294ac055..16e5377d 100644 --- a/translate.json +++ b/translate.json @@ -369,6 +369,11 @@ "ru": "{green}Доступно обновление MyTonCtrl. {red}Пожалуйста, обновите его с помощью команды `update`.{endc}", "zh_TW": "{green}MyTonCtrl 有可用更新. {red}請使用 `update` 命令進行更新.{endc}" }, + "update_mtc2_warning": { + "en": "If you are not a validator and using node only as liteserver, {bold} update to the MyTonCtrl2.0:{endc} `update mytonctrl2`. After updating turn \"liteserver\" mode on: `disable_mode validator`; `enable_mode liteserver`", + "ru": "Если вы не валидатор и используете ноду только как лайтсервер, {bold} обновитесь до MyTonCtrl2.0:{endc} `update mytonctrl2`. После обновления включите режим \"Лайтсервера\": `disable_mode validator`; `enable_mode liteserver`", + "zh_TW": "如果您不是驗證者,僅將節點用作 liteserver,{bold} 更新到 MyTonCtrl2.0:{endc} `update mytonctrl2`。更新後,將 \"liteserver\" 模式打開: `disable_mode validator`; `enable_mode liteserver`" + }, "disk_usage_warning": { "en": "{red} Disk is almost full, clean the TON database immediately: https://docs.ton.org/participate/nodes/node-maintenance-and-security#database-grooming {endc}", "ru": "{red} Диск почти заполнен, немедленно очистите базу данных TON: https://docs.ton.org/participate/nodes/node-maintenance-and-security#database-grooming {endc}", From f62863646a70aea0a9fe853f3b2c388e85f67f12 Mon Sep 17 00:00:00 2001 From: yungwine Date: Wed, 19 Jun 2024 13:33:12 +0700 Subject: [PATCH 2/5] add find_myself_in_vl --- mytoncore.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mytoncore.py b/mytoncore.py index d6a600ca..236f14a0 100755 --- a/mytoncore.py +++ b/mytoncore.py @@ -2677,6 +2677,15 @@ def GetValidatorsList(self, past=False): return validators #end define + def find_myself_in_vl(self): + current_vl = self.GetValidatorsList() + past_vl = self.GetValidatorsList(past=True) + my_adnl = self.GetAdnlAddr() + for validator in current_vl + past_vl: + if validator["adnlAddr"] == my_adnl: + return True + return False + def CheckValidators(self, start, end): local.add_log("start CheckValidators function", "debug") electionId = start From c563ed5587ffb345082ed1c8599d703585b6332b Mon Sep 17 00:00:00 2001 From: yungwine Date: Wed, 19 Jun 2024 13:48:25 +0700 Subject: [PATCH 3/5] make mtc2 warning red --- translate.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translate.json b/translate.json index 16e5377d..326a67b8 100644 --- a/translate.json +++ b/translate.json @@ -370,9 +370,9 @@ "zh_TW": "{green}MyTonCtrl 有可用更新. {red}請使用 `update` 命令進行更新.{endc}" }, "update_mtc2_warning": { - "en": "If you are not a validator and using node only as liteserver, {bold} update to the MyTonCtrl2.0:{endc} `update mytonctrl2`. After updating turn \"liteserver\" mode on: `disable_mode validator`; `enable_mode liteserver`", - "ru": "Если вы не валидатор и используете ноду только как лайтсервер, {bold} обновитесь до MyTonCtrl2.0:{endc} `update mytonctrl2`. После обновления включите режим \"Лайтсервера\": `disable_mode validator`; `enable_mode liteserver`", - "zh_TW": "如果您不是驗證者,僅將節點用作 liteserver,{bold} 更新到 MyTonCtrl2.0:{endc} `update mytonctrl2`。更新後,將 \"liteserver\" 模式打開: `disable_mode validator`; `enable_mode liteserver`" + "en": "{red} If you are not a validator and using node only as liteserver, update to the MyTonCtrl2.0:{endc} `update mytonctrl2`. After updating turn \"liteserver\" mode on: `disable_mode validator`; `enable_mode liteserver` {endc}", + "ru": "{red} Если вы не валидатор и используете ноду только как лайтсервер, обновитесь до MyTonCtrl2.0:{endc} `update mytonctrl2`. После обновления включите режим \"Лайтсервера\": `disable_mode validator`; `enable_mode liteserver` {endc}", + "zh_TW": "{red} 如果您不是驗證者,僅將節點用作 liteserver,{bold} 更新到 MyTonCtrl2.0: `update mytonctrl2`。更新後,將 \"liteserver\" 模式打開: `disable_mode validator`; `enable_mode liteserver` {endc}" }, "disk_usage_warning": { "en": "{red} Disk is almost full, clean the TON database immediately: https://docs.ton.org/participate/nodes/node-maintenance-and-security#database-grooming {endc}", From 4629d3f7700b5855e3b7a3c445f038e4309533ed Mon Sep 17 00:00:00 2001 From: yungwine Date: Wed, 19 Jun 2024 13:49:52 +0700 Subject: [PATCH 4/5] fix color --- translate.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translate.json b/translate.json index 326a67b8..613039dc 100644 --- a/translate.json +++ b/translate.json @@ -370,9 +370,9 @@ "zh_TW": "{green}MyTonCtrl 有可用更新. {red}請使用 `update` 命令進行更新.{endc}" }, "update_mtc2_warning": { - "en": "{red} If you are not a validator and using node only as liteserver, update to the MyTonCtrl2.0:{endc} `update mytonctrl2`. After updating turn \"liteserver\" mode on: `disable_mode validator`; `enable_mode liteserver` {endc}", - "ru": "{red} Если вы не валидатор и используете ноду только как лайтсервер, обновитесь до MyTonCtrl2.0:{endc} `update mytonctrl2`. После обновления включите режим \"Лайтсервера\": `disable_mode validator`; `enable_mode liteserver` {endc}", - "zh_TW": "{red} 如果您不是驗證者,僅將節點用作 liteserver,{bold} 更新到 MyTonCtrl2.0: `update mytonctrl2`。更新後,將 \"liteserver\" 模式打開: `disable_mode validator`; `enable_mode liteserver` {endc}" + "en": "{red} If you are not a validator and using node only as liteserver, update to the MyTonCtrl2.0: `update mytonctrl2`. After updating turn \"liteserver\" mode on: `disable_mode validator`; `enable_mode liteserver` {endc}", + "ru": "{red} Если вы не валидатор и используете ноду только как лайтсервер, обновитесь до MyTonCtrl2.0: `update mytonctrl2`. После обновления включите режим \"Лайтсервера\": `disable_mode validator`; `enable_mode liteserver` {endc}", + "zh_TW": "{red} 如果您不是驗證者,僅將節點用作 liteserver,更新到 MyTonCtrl2.0: `update mytonctrl2`。更新後,將 \"liteserver\" 模式打開: `disable_mode validator`; `enable_mode liteserver` {endc}" }, "disk_usage_warning": { "en": "{red} Disk is almost full, clean the TON database immediately: https://docs.ton.org/participate/nodes/node-maintenance-and-security#database-grooming {endc}", From 86dcdbb954b75f8cd869de8790f87108ca60e650 Mon Sep 17 00:00:00 2001 From: yungwine Date: Wed, 19 Jun 2024 13:58:03 +0700 Subject: [PATCH 5/5] add try --- mytonctrl.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mytonctrl.py b/mytonctrl.py index 6804a30b..02072eb3 100755 --- a/mytonctrl.py +++ b/mytonctrl.py @@ -231,10 +231,13 @@ def CheckMytonctrlUpdate(): def CheckMytonctrl2Update(): - if not ton.find_myself_in_vl(): # we are not validator in current and prev rounds - print('============================================================================================') - color_print(local.translate("update_mtc2_warning")) - print('============================================================================================') + try: + if not ton.find_myself_in_vl(): # we are not validator in current and prev rounds + print('============================================================================================') + color_print(local.translate("update_mtc2_warning")) + print('============================================================================================') + except Exception as err: + print(f'Failed to check node as validator: {err}') # end define