async def start(self, **kwargs): # we include `kwargs` as a hack for the wallet, which for some # reason allows parameters to `_start`. This is serious BRAIN DAMAGE, # and should be fixed at some point. # TODO: move those parameters to `__init__` if self._did_start: return self._did_start = True self._enable_signals() await self._node._start(**kwargs) for port in self._upnp_ports: upnp_remap_port(port) await self._server.start_server(self._on_connect_callback) self._reconnect_tasks = [ start_reconnect_task(self._server, _, self._log, self._auth_connect_peers) for _ in self._connect_peers ] self._log.info( f"Started {self._service_name} service on network_id: {self._network_id.hex()}" ) self._rpc_close_task = None if self._rpc_info: rpc_api, rpc_port = self._rpc_info self._rpc_task = asyncio.create_task( start_rpc_server( rpc_api(self._node), self.self_hostname, self.daemon_port, rpc_port, self.stop, self.root_path, self.config, self._connect_to_daemon, ))
async def start_callback(): if config["enable_upnp"]: upnp_remap_port(config["port"]) await api._start()