Ejemplo n.º 1
0
    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,
                ))
Ejemplo n.º 2
0
 async def start_callback():
     if config["enable_upnp"]:
         upnp_remap_port(config["port"])
     await api._start()