From 5ca832a9a578717e5e12fb6c2df2f72d2095b12f Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 13 Jun 2022 17:30:20 +0000 Subject: [PATCH] daemon.py: erigon fixes --- mmgen/base_proto/ethereum/daemon.py | 7 +++++++ mmgen/daemon.py | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mmgen/base_proto/ethereum/daemon.py b/mmgen/base_proto/ethereum/daemon.py index d2e2f877..3351375a 100755 --- a/mmgen/base_proto/ethereum/daemon.py +++ b/mmgen/base_proto/ethereum/daemon.py @@ -117,12 +117,17 @@ class erigon_daemon(geth_daemon): version_pat = r'erigon/(\d+)\.(\d+)\.(\d+)' exec_fn = 'erigon' private_ports = _nw(9090,9091,9092) # testnet and regtest are non-standard + torrent_ports = _nw(42069,42070,None) # testnet is non-standard datadirs = { 'linux': [g.home_dir,'.local','share','erigon'], 'win': [os.getenv('LOCALAPPDATA'),'Erigon'] # FIXME } def init_subclass(self): + + if self.network == 'regtest': + self.force_kill = True + self.coind_args = list_gen( ['--verbosity=0'], [f'--port={self.p2p_port}', self.p2p_port], @@ -130,9 +135,11 @@ class erigon_daemon(geth_daemon): [f'--private.api.addr=127.0.0.1:{self.private_port}'], [f'--datadir={self.datadir}', self.non_dfl_datadir], ['--chain=goerli', self.network=='testnet'], + [f'--torrent.port={self.torrent_ports.testnet}', self.network=='testnet'], ['--chain=dev', self.network=='regtest'], ['--mine', self.network=='regtest'], ) + self.rpc_d = erigon_rpcdaemon( proto = self.proto, rpc_port = self.rpc_port, diff --git a/mmgen/daemon.py b/mmgen/daemon.py index 5df8d662..10225f2e 100755 --- a/mmgen/daemon.py +++ b/mmgen/daemon.py @@ -38,6 +38,7 @@ class Daemon(Lockable): debug = False wait = True use_pidfile = True + force_kill = False pids = () use_threads = False cfg_file = None @@ -148,7 +149,10 @@ class Daemon(Lockable): @property def stop_cmd(self): - return ['kill','-Wf',self.pid] if self.platform == 'win' else ['kill',self.pid] + return ( + ['kill','-Wf',self.pid] if self.platform == 'win' else + ['kill','-9',self.pid] if self.force_kill else + ['kill',self.pid] ) def cmd(self,action,*args,**kwargs): return getattr(self,action)(*args,**kwargs)