diff --git a/wally/node.py b/wally/node.py
index 38342c6..57ca701 100644
--- a/wally/node.py
+++ b/wally/node.py
@@ -163,11 +163,15 @@
         self.conn = conn
 
     def __str__(self) -> str:
-        return "Node({!r})".format(self.info.node_id())
+        return "Node({!r})".format(self.info)
 
     def __repr__(self) -> str:
         return str(self)
 
+    @property
+    def node_id(self) -> str:
+        return self.info.node_id
+
     def get_file_content(self, path: str, expanduser: bool = False, compress: bool = True) -> bytes:
         logger.debug("GET %s from %s", path, self.info)
         if expanduser:
@@ -230,10 +234,10 @@
 
     def disconnect(self, stop: bool = False) -> None:
         if stop:
-            logger.debug("Stopping RPC server on %s", self.info.node_id())
+            logger.debug("Stopping RPC server on %s", self.info)
             self.conn.server.stop()
 
-        logger.debug("Disconnecting from %s", self.info.node_id())
+        logger.debug("Disconnecting from %s", self.info)
         self.conn.disconnect()
         self.conn = None
 
