async def peer_action(peer: ws.WSChiaConnection): peer_info = peer.get_peer_info() version = peer.get_version() if peer_info is not None and version is not None: self.version_cache.append((peer_info.host, version)) # Ask peer for peers response = await peer.request_peers( full_node_protocol.RequestPeers(), timeout=3) # Add peers to DB if isinstance(response, full_node_protocol.RespondPeers): self.peers_retrieved.append(response) peer_info = peer.get_peer_info() tries = 0 got_peak = False while tries < 25: tries += 1 if peer_info is None: break if peer_info in self.with_peak: got_peak = True break await asyncio.sleep(0.1) if not got_peak and peer_info is not None and self.crawl_store is not None: await self.crawl_store.peer_connected_hostname( peer_info.host, False) await peer.close()
async def on_connect(self, peer: ws.WSChiaConnection): if ( peer.is_outbound is False and peer.peer_server_port is not None and peer.connection_type is NodeType.FULL_NODE and self.server._local_type is NodeType.FULL_NODE and self.address_manager is not None ): timestamped_peer_info = TimestampedPeerInfo( peer.peer_host, peer.peer_server_port, uint64(int(time.time())), ) await self.address_manager.add_to_new_table([timestamped_peer_info], peer.get_peer_info(), 0) if self.relay_queue is not None: self.relay_queue.put_nowait((timestamped_peer_info, 1)) if ( peer.is_outbound and peer.peer_server_port is not None and peer.connection_type is NodeType.FULL_NODE and (self.server._local_type is NodeType.FULL_NODE or self.server._local_type is NodeType.WALLET) and self.address_manager is not None ): msg = make_msg(ProtocolMessageTypes.request_peers, full_node_protocol.RequestPeers()) await peer.send_message(msg)
uint8(207), vdf_info, ) respond_compact_vdf = full_node_protocol.RespondCompactVDF( uint32(2759248594), bytes32( bytes.fromhex( "51f2e23ac76179d69bc9232420f47e2a332b8c2495c24ceef7f730feb53c9117") ), uint8(167), vdf_info, vdf_proof, ) request_peers = full_node_protocol.RequestPeers() timestamped_peer_info = TimestampedPeerInfo("127.0.0.1", uint16(8444), uint64(10796)) respond_peers = full_node_protocol.RespondPeers([timestamped_peer_info]) ## WALLET PROTOCOL request_puzzle_solution = wallet_protocol.RequestPuzzleSolution( bytes32( bytes.fromhex( "6edddb46bd154f50566b49c95812e0f1131a0a7162630349fc8d1d696e463e47") ), uint32(3905474497), )