Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 1 addition & 16 deletions modules/liteserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,8 @@

class LiteserverModule(MtcModule):

description = 'For liteserver usage only - can\'t be used with validator.'
description = 'For liteserver usage only without validator.'
default_value = False

def enable(self):
from mytoninstaller.mytoninstaller import set_node_argument
set_node_argument(self.local, ["--celldb-no-preload-all"])
data = psutil.virtual_memory()
ram = data.total / 2**30
if ram < 100:
set_node_argument(self.local, ["--celldb-cache-size", "1073741824"])

def disable(self):
from mytoninstaller.mytoninstaller import set_node_argument
from mytoninstaller.node_args import get_node_args
set_node_argument(self.local, ["--celldb-no-preload-all", "-d"])
if get_node_args()['--celldb-cache-size']:
set_node_argument(self.local, ["--celldb-cache-size", "-d"])

def add_console_commands(self, console):
...
9 changes: 9 additions & 0 deletions mytoncore/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ def Event(local, event_name):
enable_ton_storage_provider_event(local)
elif event_name == "enable_liteserver_mode":
enable_liteserver_mode(local)
elif event_name == "enable_validator_mode":
enable_validator_mode(local)
local.exit()
# end define

Expand Down Expand Up @@ -93,10 +95,17 @@ def enable_ton_storage_provider_event(local):
#end define


def enable_validator_mode(local):
from mytoninstaller.mytoninstaller import set_node_argument
set_node_argument(local, ['--archive-ttl', '86400']) # limit validator archive ttl to 1 day


def enable_liteserver_mode(local):
from mytoninstaller.mytoninstaller import set_node_argument
ton = MyTonCore(local)
ton.disable_mode('validator')
ton.enable_mode('liteserver')
set_node_argument(local, ['--archive-ttl', '2592000']) # limit liteserver archive ttl to 30 days
#end define


Expand Down
3 changes: 0 additions & 3 deletions mytoncore/mytoncore.py
Original file line number Diff line number Diff line change
Expand Up @@ -3269,7 +3269,6 @@ def check_enable_mode(self, name):
if self.using_validator():
raise Exception(f'Cannot enable liteserver mode while validator mode is enabled. '
f'Use `disable_mode validator` first.')
MODES['liteserver'](self, self.local).enable()
if name == 'validator':
if self.using_liteserver():
raise Exception(f'Cannot enable validator mode while liteserver mode is enabled. '
Expand All @@ -3287,8 +3286,6 @@ def disable_mode(self, name):
current_modes = self.get_modes()
if name not in current_modes:
raise Exception(f'Unknown module name: {name}. Available modes: {", ".join(MODES)}')
if name == 'liteserver':
MODES['liteserver'](self, self.local).disable()
current_modes[name] = False
self.local.save()

Expand Down
7 changes: 5 additions & 2 deletions mytoninstaller/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,9 @@ def CreateSymlinks(local):


def EnableMode(local):
args = ["python3", "-m", "mytoncore", "-e"]
if local.buffer.mode == 'liteserver':
args = ["python3", "-m", "mytoncore", "-e", "enable_liteserver_mode"]
subprocess.run(args)
args.append("enable_liteserver_mode")
elif local.buffer.mode == 'validator':
args.append("enable_validator_mode")
subprocess.run(args)