From cd42f0d726cdeb571f0e8dd5f114900eb61a8bd3 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Wed, 15 Jun 2022 10:39:15 -0300 Subject: [PATCH] dht_crawler: fix node id store --- scripts/dht_crawler.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/dht_crawler.py b/scripts/dht_crawler.py index b7eb96374..e0ffa071b 100644 --- a/scripts/dht_crawler.py +++ b/scripts/dht_crawler.py @@ -48,10 +48,12 @@ class DHTPeer(Base): @classmethod def from_kad_peer(cls, peer): - return DHTPeer(node_id=peer.node_id, address=peer.address, udp_port=peer.udp_port, tcp_port=peer.tcp_port) + node_id = peer.node_id.hex() if peer.node_id else None + return DHTPeer(node_id=node_id, address=peer.address, udp_port=peer.udp_port, tcp_port=peer.tcp_port) def to_kad_peer(self): - return make_kademlia_peer(self.node_id, self.address, self.udp_port, self.tcp_port) + node_id = bytes.fromhex(self.node_id.hex()) if self.node_id else None + return make_kademlia_peer(node_id, self.address, self.udp_port, self.tcp_port) class DHTConnection(Base): @@ -111,7 +113,7 @@ class Crawler: for peer in peers: db_peer = self.get_from_peer(peer) if db_peer and db_peer.node_id is None and peer.node_id: - db_peer.node_id = peer.node_id + db_peer.node_id = peer.node_id.hex() elif not db_peer: db_peer = DHTPeer.from_kad_peer(peer) self.db.add(db_peer) @@ -126,7 +128,7 @@ class Crawler: db_peer = self.get_from_peer(peer) db_peer.latency = latency if not db_peer.node_id: - db_peer.node_id = peer.node_id + db_peer.node_id = peer.node_id.hex() if db_peer.first_online and latency is None: db_peer.last_churn = (datetime.datetime.utcnow() - db_peer.first_online).seconds elif latency is not None and db_peer.first_online is None: