ift-ts:p2p:ift:2026q4-nimlibp2p-mdns

Description

Implement mDNS discovery so libp2p peers on the same local network can find one another without manually exchanging addresses or relying on Internet bootstrap services. Cover discovery lifecycle, interface changes, record and address handling, expiration, peerstore integration, and application-controlled dialing.

Task List

Discovery Lifecycle And Records

  • fully qualified name: ift-ts:p2p:ift:2026q4-nimlibp2p-mdns:discovery
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/10/01
  • end-date: 2026/12/31

Description

Implement discovery startup and shutdown, interface handling including network changes, and record processing. Validate discovered addresses and expire stale records so discovery follows the current local network.

Deliverables

  • mDNS discovery with interface-change handling
  • Record validation, address processing, and expiration
  • Tests for shutdown, network changes, and stale records

Peerstore And Connection Policy

  • fully qualified name: ift-ts:p2p:ift:2026q4-nimlibp2p-mdns:peerstore-policy
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/10/01
  • end-date: 2026/12/31

Description

Integrate discovered peers and addresses into the peerstore, following the existing Kademlia integration pattern where applicable. Expose an overridable connection policy so applications decide whether to dial discovered peers.

Deliverables

  • Peerstore integration for discovered peers
  • Application-controlled dialing policy and usage example

Cross-Implementation Interoperability

  • fully qualified name: ift-ts:p2p:ift:2026q4-nimlibp2p-mdns:interop
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/10/01
  • end-date: 2026/12/31

Description

Verify local-network discovery and connection establishment with other libp2p implementations, including address updates and record expiration.

Deliverables

  • Reproducible cross-implementation mDNS tests
  • Interoperability results for discovery, address updates, and expiration