code: def get_node_ip_address(address="8.8.8.8:53"):
      
      ip_address, port = address.split(":")
      s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      try:
          # This command will raise an exception if there is no internet
          # connection.
          s.connect((ip_address, int(port)))
          node_ip_address = s.getsockname()[0]
      except Exception as e:
          node_ip_address = "127.0.0.1"
          # [Errno 101] Network is unreachable
          if e.errno == 101:
              try:
                  # try get node ip address from host name
                  host_name = socket.getfqdn(socket.gethostname())
                  node_ip_address = socket.gethostbyname(host_name)
              except Exception:
                  pass
      finally:
          s.close()
  
      return node_ip_address
docs: Determine the IP address of the local node.
  
      Args:
          address (str): The IP address and port of any known live service on the
              network you care about.
  
      Returns:
          The IP address of the current node.