libp2p / libp2p/go-libp2p

introduce a proper address pipeline

Open
#2,229 3 comments 1 reaction 2 assignees View on GitHub

@sukunrt is already working on this.

Since Nov 29, 2024.

effort/weeks exp/wizard P1
Dominant language
Go
Stars
6.9k
Forks
1.3k
Avg merge
13d 21h
Merged PRs (30d)
1

Description

We need to get a lot smarter about address management. Wrapping / replacing addresses via the `AddrsFactory` doesn't scale.

I'm imagining a new service that's responsible for the entire process of address management.

1. It ingests in new "address candidates" from various sources: user provided address hints, transports claiming to listen on certain addresses, Identify, relay service etc.
2. It verifies these addresses using AutoNAT v2.
3. It groups and categorizes these addresses (public / private / relayed).
4. It provides interfaces to make these different categories of addresses available to consumers.

Updated(@sukunrt): Using this issue for tracking:

- [x] #2422

Tasks
- [x] https://github.com/libp2p/go-libp2p/pull/3071
- [x] #3075
- [x] https://github.com/libp2p/go-libp2p/pull/3231

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.