This repository has been archived by the owner on Feb 12, 2024. It is now read-only.
/dnsaddr support in bootstrap and swarm connect #2289
Labels
exp/novice
Someone with a little familiarity can pick up
kind/bug
A bug in existing code (including security flaws)
kind/resolved-in-helia
P3
Low: Not priority right now
status/ready
Ready to be worked
Type: Feature
Severity: Medium
Motivation
/dnsaddr
is like DNSLink, but for multiaddrs.It is a way of having static peer multiaddrs that do not hardcode PeerID and can point at multiple multiaddrs:
/dnsaddr/bootstrap.libp2p.io
resolves to:/ip4/178.62.158.247/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd
/ip6/2a03:b0c0:0:1010::23:1001/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd
It is already supported by go-ipfs (ipfs/kubo#5522) and feels like "magic" mentioned in #1459
In js-ipfs, it could be used in default multiaddrs for things like dns-based bootstrap nodes or preload / delegate nodes, enabling us to scale transparently by adding more multiaddrs without the need for shipping patch release or changing client configs.
Problem
/dnsaddr
multiaddrs are not supported inswarm connect
/dnsaddr
entriesSteps to reproduce:
bootstrap.libp2p.io
has dnsaddr records with port and peerid:Try connecting to peer via dnsaddr:
Expected:
In case dnsaddr disappears from
bootstrap.libp2p.io
, alternative hostname for testing:ipfs.aergia.eu
The text was updated successfully, but these errors were encountered: