def find_peers_for_infohash(self, _id, info_hash): result = self.get_recursively_peers(_id, [Node.get_boostrap_node()], info_hash)
result = self.get_recursively_peers(_id, [Node.get_boostrap_node()], info_hash) if __name__ == "__main__": my_id = generate_random_id() print('id: ' + my_id.encode('hex')) mynode = Node(id=my_id, hostname='localhost') dht = DHT(Network, mynode) info_hash = 'bbb6db69965af769f664b6636e7914f8735141b3' if len(sys.argv) == 1 else sys.argv[1] node_info_hash = Node(id=hex2byte(info_hash), ip='fake') bootstrap_node = Node.get_boostrap_node() ping_response = dht.ping(bootstrap_node) print('ping response: %s' % ping_response) if ping_response is None: print('no response, exit') sys.exit(1) # save the bootstrap node's id bootstrap_node.id = ping_response['id'] dht.buckets_list.insert_node(bootstrap_node) logger.info('start while') while 1: print(dht.peers(info_hash))