Module bootstrap

Module bootstrap 

Source
Expand description

Bootstrap node list for initial WAN peer discovery.

mDNS works only within a single LAN segment. For nodes running on different networks, a list of well-known “bootstrap” peers with stable addresses is required to seed the Kademlia DHT and gossipsub mesh.

§File format

~/.local/share/billpouch/bootstrap.json — a JSON array of multiaddr strings, each including a /p2p/<PeerId> suffix:

[
  "/ip4/203.0.113.1/tcp/4001/p2p/12D3KooWExamplePeerIdAAAAA",
  "/dns4/bootstrap.billpouch.io/tcp/4001/p2p/12D3KooWExampleBBBBB"
]

The file is optional. If it is absent or empty the daemon starts with mDNS-only discovery (suitable for purely local deployments).

§Runtime

BootstrapList::apply is called once during run_network_loop initialisation. For each entry it:

  1. Parses the multiaddr.
  2. Extracts the /p2p/<PeerId> component.
  3. Registers the address in the Kademlia routing table.
  4. Dials the peer.

Structs§

BootstrapList
A list of bootstrap node multiaddrs loaded from disk.