internal/discovery/discovery.go
func DiscoverDNS(address string) ([]string, error) {
	_, addresses, err := net.LookupSRV("mnemosyned", "grpc", address)
	if err != nil {
		return nil, err
	}

	if len(addresses) == 0 {
		return nil, errors.New("discovery: srv lookup retured nothing")
	}
	var (
		tmp      []service
		services []string
	)
	for _, addr := range addresses {
		tmp = append(tmp, service{Address: addr.Target, Port: int(addr.Port)})
	}
	for _, s := range tmp {
		services = append(services, fmt.Sprintf("%s:%d", s.Address, s.Port))
	}
	return services, nil
}
func DiscoverDNS(address string) ([]string, error) {
	_, addresses, err := net.LookupSRV("mnemosyned", "grpc", address)
	if err != nil {
		return nil, err
	}

	if len(addresses) == 0 {
		return nil, errors.New("discovery: srv lookup retured nothing")
	}
	var (
		tmp      []service
		services []string
	)
	for _, addr := range addresses {
		tmp = append(tmp, service{Address: addr.Target, Port: int(addr.Port)})
	}
	for _, s := range tmp {
		services = append(services, fmt.Sprintf("%s:%d", s.Address, s.Port))
	}
	return services, nil
}
// DiscoverDNS ...