ChainSafe / forest

🌲 Rust Filecoin Node Implementation
https://forest.chainsafe.io
Apache License 2.0
632 stars 153 forks source link

chore: update multiaddr dns prefix for bootstrap nodes #4438

Closed joshdougall closed 3 months ago

joshdougall commented 3 months ago

Summary of changes

The list of bootstrap nodes was provided using the /dns4 multiaddr prefix, which limits libp2p connections to IPV4 only. Since the ChainSafe Infrastructure team has added IPV6 support to their bootstrap nodes, this change introduces a node's ability to join using either IPV4 or IPV6 through the DNS path. This change supports nodes that are IPV4 only, as well as those that support IPV4 and IPV6 (ChainSafe & glif.io nodes).

Changes introduced in this pull request:

Reference issue to close (if applicable)

Closes https://github.com/ChainSafe/infrastructure-general/issues/264

Other information and links

This is to support the changes made during conversations with FilOz and to match changes made to Lotus here:

https://github.com/filecoin-project/lotus/pull/12103

Change checklist

CLAassistant commented 3 months ago

CLA assistant check
All committers have signed the CLA.

LesnyRumcajs commented 3 months ago

Are you positive that, e.g., glif hostnames are resolvable to ipv6? From https://github.com/multiformats/multiaddr/blob/master/protocols.csv

dns -   domain name resolvable to both IPv6 and IPv4 address
❯ host -t AAAA calibration.node.glif.io
calibration.node.glif.io is an alias for a2ad5f028b78e4f628b8280d2482e5fa-9805736762487b63.elb.ap-northeast-1.amazonaws.com.

~
❯ host -t AAAA a2ad5f028b78e4f628b8280d2482e5fa-9805736762487b63.elb.ap-northeast-1.amazonaws.com.
a2ad5f028b78e4f628b8280d2482e5fa-9805736762487b63.elb.ap-northeast-1.amazonaws.com has no AAAA record