docs: def handle_version(self, message_header, message):
          """
          This method will handle the Version message and
          will send a VerAck message when it receives the
          Version message.
  
          :param message_header: The Version message header
          :param message: The Version message
          """
          log.debug("handle version")
          verack = VerAck()
          log.debug("send VerAck")
          self.send_message(verack)
          self.verack = True
  
          start_block_height = sorted(self.blocks.keys())[0]
          if start_block_height < 1:
              start_block_height = 1
  
          # ask for all blocks
          block_hashes = []
          for height in sorted(self.blocks.keys()):
              block_hashes.append( int(self.blocks[height], 16) )
  
          start_block_height = sorted(self.blocks.keys())[0]
          end_block_height = sorted(self.blocks.keys())[-1]
      
          log.debug("send getdata for %s-%s (%064x-%064x)" % (start_block_height, end_block_height, block_hashes[0], block_hashes[-1]))
  
          # send off the getdata
          getdata = GetData()
          block_inv_vec = []
          for block_hash in block_hashes:
              block_inv = Inventory()
              block_inv.inv_type = INVENTORY_TYPE["MSG_BLOCK"]
              block_inv.inv_hash = block_hash
  
              block_inv_vec.append(block_inv)
  
          getdata.inventory = block_inv_vec
          self.send_message(getdata)