code: func NewNode(id NodeID, ip net.IP, udpPort, tcpPort uint16) *Node {
  	if ipv4 := ip.To4(); ipv4 != nil {
  		ip = ipv4
  	}
  	return &Node{
  		IP:          ip,
  		UDP:         udpPort,
  		TCP:         tcpPort,
  		ID:          id,
  		nodeNetGuts: nodeNetGuts{sha: crypto.Keccak256Hash(id[:])},
  	}
  }
docs: // NewNode creates a new node. It is mostly meant to be used for
  // testing purposes.