Spec
specs/addressing/README.md, IP and Name Resolution.
The addressing recommendation defines resolution for /dns, /dns4, /dns6, and /dnsaddr; only the name-based component is replaced while the encapsulated transport suffix is retained.
Current state
LibP2P.Multiaddr.Protocol parses and renders all four DNS components, but Transport.TCP.canDialTCP, multiaddrToHostPort, and tcpDial accept only literal /ip4/.../tcp/... and /ip6/.../tcp/... addresses. Thus syntactically supported DNS multiaddrs cannot be dialled.
Scope
- Resolve
/dns through A and AAAA records, preferring IPv6 as specified while retaining usable fallbacks.
- Resolve
/dns4 through A records only.
- Resolve
/dns6 through AAAA records only.
- Resolve
/dnsaddr through _dnsaddr.<name> TXT records and recursively parse the returned dnsaddr= multiaddrs.
- Preserve encapsulated suffixes such as
/tcp/.../p2p/... during resolution.
- Bound recursion, result count, lookup time, and malformed TXT handling.
- Integrate resolution with Switch dialing without making the TCP transport falsely claim unsupported address shapes.
Acceptance tests
- Deterministic resolver tests for dns/dns4/dns6/dnsaddr.
- TCP dial through a name-based multiaddr using an injected/local resolver.
- Multiple answers fall back after a failed address.
- Recursive/cyclic dnsaddr records terminate safely.
/p2p/<peer-id> suffix and peer identity verification survive resolution.
Spec
specs/addressing/README.md, IP and Name Resolution.The addressing recommendation defines resolution for
/dns,/dns4,/dns6, and/dnsaddr; only the name-based component is replaced while the encapsulated transport suffix is retained.Current state
LibP2P.Multiaddr.Protocolparses and renders all four DNS components, butTransport.TCP.canDialTCP,multiaddrToHostPort, andtcpDialaccept only literal/ip4/.../tcp/...and/ip6/.../tcp/...addresses. Thus syntactically supported DNS multiaddrs cannot be dialled.Scope
/dnsthrough A and AAAA records, preferring IPv6 as specified while retaining usable fallbacks./dns4through A records only./dns6through AAAA records only./dnsaddrthrough_dnsaddr.<name>TXT records and recursively parse the returneddnsaddr=multiaddrs./tcp/.../p2p/...during resolution.Acceptance tests
/p2p/<peer-id>suffix and peer identity verification survive resolution.