code: func (n *NodeConfig) initEnode(ip net.IP, tcpport int, udpport int) error {
  	enrIp := enr.IP(ip)
  	n.Record.Set(&enrIp)
  	enrTcpPort := enr.TCP(tcpport)
  	n.Record.Set(&enrTcpPort)
  	enrUdpPort := enr.UDP(udpport)
  	n.Record.Set(&enrUdpPort)
  
  	err := enode.SignV4(&n.Record, n.PrivateKey)
  	if err != nil {
  		return fmt.Errorf("unable to generate ENR: %v", err)
  	}
  	nod, err := enode.New(enode.V4ID{}, &n.Record)
  	if err != nil {
  		return fmt.Errorf("unable to create enode: %v", err)
  	}
  	log.Trace("simnode new", "record", n.Record)
  	n.node = nod
  	return nil
  }
docs: // adds the host part to the configuration's ENR, signs it
  // creates and  the corresponding enode object to the configuration