code: def run( self ):
          
  
          self.handshake()
  
          try:
              self.loop()
          except socket.error, se:
              if self.finished:
                  return True
              else:
                  raise
docs: Interact with the blockchain peer,
          until we get a socket error or we
          exit the loop explicitly.
          Return True on success
          Raise on error