async def do_run(self, event_bus: EndpointAPI) -> None: boot_info = self._boot_info config = boot_info.trinity_config db = DBClient.connect(config.database_ipc_path) if boot_info.args.disable_discovery: discovery_service: async_service.Service = StaticDiscoveryService( event_bus, config.preferred_nodes, ) else: vm_config = config.get_app_config( Eth1AppConfig).get_chain_config().vm_configuration headerdb = TrioHeaderDB(db) eth_cap_provider = functools.partial(generate_eth_cap_enr_field, vm_config, headerdb) socket = trio.socket.socket(family=trio.socket.AF_INET, type=trio.socket.SOCK_DGRAM) await socket.bind(("0.0.0.0", config.port)) base_db = LevelDB(config.node_db_dir) node_db = NodeDB(default_identity_scheme_registry, base_db) discovery_service = PreferredNodeDiscoveryService( config.nodekey, config.port, config.port, config.bootstrap_nodes, config.preferred_nodes, event_bus, socket, node_db, (eth_cap_provider, ), ) with db: await async_service.run_trio_service(discovery_service)
async def do_run(cls, boot_info: BootInfo, event_bus: EndpointAPI) -> None: config = boot_info.trinity_config external_ip = "0.0.0.0" address = Address(external_ip, config.port, config.port) if boot_info.args.disable_discovery: discovery_service: Service = StaticDiscoveryService( event_bus, config.preferred_nodes, ) else: external_ip = "0.0.0.0" socket = trio.socket.socket(family=trio.socket.AF_INET, type=trio.socket.SOCK_DGRAM) await socket.bind((external_ip, config.port)) discovery_service = PreferredNodeDiscoveryService( boot_info.trinity_config.nodekey, address, config.bootstrap_nodes, config.preferred_nodes, event_bus, socket, ) try: await TrioManager.run_service(discovery_service) except Exception: await event_bus.broadcast(ShutdownRequest("Discovery ended unexpectedly")) raise
async def _run(self) -> None: external_ip = "0.0.0.0" address = Address(external_ip, self.trinity_config.port, self.trinity_config.port) discovery_protocol = PreferredNodeDiscoveryProtocol( self.trinity_config.nodekey, address, self.trinity_config.bootstrap_nodes, self.trinity_config.preferred_nodes, self.cancel_token, ) if self.is_discovery_disabled: discovery_service: BaseService = StaticDiscoveryService( self.event_bus, self.trinity_config.preferred_nodes, self.cancel_token, ) else: discovery_service = DiscoveryService( discovery_protocol, self.trinity_config.port, self.event_bus, self.cancel_token, ) try: await discovery_service.run() except Exception: await self.event_bus.broadcast( ShutdownRequest("Discovery ended unexpectedly"))
async def do_run(cls, boot_info: BootInfo, event_bus: EndpointAPI) -> None: config = boot_info.trinity_config db = DBClient.connect(config.database_ipc_path) if boot_info.args.disable_discovery: discovery_service: async_service.Service = StaticDiscoveryService( event_bus, config.preferred_nodes, ) else: vm_config = config.get_app_config(Eth1AppConfig).get_chain_config().vm_configuration headerdb = TrioHeaderDB(db) eth_cap_provider = functools.partial(generate_eth_cap_enr_field, vm_config, headerdb) socket = trio.socket.socket(family=trio.socket.AF_INET, type=trio.socket.SOCK_DGRAM) await socket.bind(("0.0.0.0", config.port)) base_db = LevelDB(config.node_db_dir) node_db = NodeDB(default_identity_scheme_registry, base_db) # discovery_service = PreferredNodeDiscoveryService( # config.nodekey, # config.port, # config.port, # config.bootstrap_nodes, # config.preferred_nodes, # event_bus, # socket, # node_db, # (eth_cap_provider,), # ) discovery_service = DiscoveryService( config.nodekey, config.port, config.port, config.bootstrap_nodes, event_bus, socket, node_db, (eth_cap_provider,), ) try: with db: await async_service.run_trio_service(discovery_service) except Exception: event_bus.broadcast_nowait(ShutdownRequest("Discovery ended unexpectedly")) raise
async def _run(self) -> None: external_ip = "0.0.0.0" address = Address(external_ip, self.trinity_config.port, self.trinity_config.port) if self.trinity_config.use_discv5: protocol = get_protocol(self.trinity_config) topic = get_discv5_topic(self.trinity_config, protocol) discovery_protocol: DiscoveryProtocol = DiscoveryByTopicProtocol( topic, self.trinity_config.nodekey, address, self.trinity_config.bootstrap_nodes, self.cancel_token, ) else: discovery_protocol = PreferredNodeDiscoveryProtocol( self.trinity_config.nodekey, address, self.trinity_config.bootstrap_nodes, self.trinity_config.preferred_nodes, self.cancel_token, ) if self.is_discovery_disabled: discovery_service: BaseService = StaticDiscoveryService( self.event_bus, self.trinity_config.preferred_nodes, self.cancel_token, ) else: discovery_service = DiscoveryService( discovery_protocol, self.trinity_config.port, self.event_bus, self.cancel_token, ) try: await discovery_service.run() except Exception: self.event_bus.request_shutdown("Discovery ended unexpectedly")