feat(bootstrap): add JS-based va1.bootstrap.libp2p.io (#10575)
* feat(bootstrap): /dnsaddr/va1.bootstrap.libp2p.io this adds https://github.com/libp2p/js-libp2p-amino-dht-bootstrapper instance at /dnsaddr/va1.bootstrap.libp2p.io to ensure Kubo does not depend on single language stack for initial bootstrap * docs: document where defaults live * test: updated bootstrappers
Marcin Rataj committed
Nov 25, 2024 at 18:04 UTC
0bd0edc782401f1bed59c5696dbc441abbeeff85
3 files changed
+11
-7
config/bootstrap_peers.go
+4
-3
@@ -16,11 +16,12 @@ import (
16
// import dependency issue. TODO: move this into a config/default/ package.
17
var DefaultBootstrapAddresses = []string{
18
"/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
19
- "/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",
19
+ "/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa", // rust-libp2p-server
20
"/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",
21
"/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt",
22
- "/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ", // mars.i.ipfs.io
23
- "/ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ", // mars.i.ipfs.io
22
+ "/dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8", // js-libp2p-amino-dht-bootstrapper
23
+ "/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ", // mars.i.ipfs.io
24
+ "/ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ", // mars.i.ipfs.io
25
}
26
27
// ErrInvalidPeerAddr signals an address is not a valid peer address.
docs/config.md
+1
-1
@@ -567,7 +567,7 @@ Type: `optionalString`
567
568
Bootstrap is an array of [multiaddrs][multiaddr] of trusted nodes that your node connects to, to fetch other nodes of the network on startup.
569
570
-Default: The ipfs.io bootstrap nodes
570
+Default: [`config.DefaultBootstrapAddresses`](https://github.com/ipfs/kubo/blob/master/config/bootstrap_peers.go)
571
572
Type: `array[string]` ([multiaddrs][multiaddr])
573
test/sharness/t0120-bootstrap.sh
+6
-3
@@ -9,8 +9,9 @@ BP1="/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTez
9
BP2="/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa"
10
BP3="/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb"
11
BP4="/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt"
12
-BP5="/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
13
-BP6="/ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
12
+BP5="/dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8"
13
+BP6="/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
14
+BP7="/ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
15
16
test_description="Test ipfs repo operations"
17
@@ -93,10 +94,11 @@ test_bootstrap_cmd() {
94
echo "added $BP4" >>add2_expected &&
95
echo "added $BP5" >>add2_expected &&
96
echo "added $BP6" >>add2_expected &&
97
+ echo "added $BP7" >>add2_expected &&
98
test_cmp add2_expected add2_actual
99
'
100
99
- test_bootstrap_list_cmd $BP1 $BP2 $BP3 $BP4 $BP5 $BP6
101
+ test_bootstrap_list_cmd $BP1 $BP2 $BP3 $BP4 $BP5 $BP6 $BP7
102
103
test_expect_success "'ipfs bootstrap rm --all' succeeds" '
104
ipfs bootstrap rm --all >rm2_actual
@@ -109,6 +111,7 @@ test_bootstrap_cmd() {
111
echo "removed $BP4" >>rm2_expected &&
112
echo "removed $BP5" >>rm2_expected &&
113
echo "removed $BP6" >>rm2_expected &&
114
+ echo "removed $BP7" >>rm2_expected &&
115
test_cmp rm2_expected rm2_actual
116
'
117