Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Addrs {listen, announce, noAnnounce} on js-libp2p #14

Closed
vasco-santos opened this issue Aug 8, 2019 · 2 comments
Closed

Comments

@vasco-santos
Copy link
Member

vasco-santos commented Aug 8, 2019

Motivation and context

With the advances on js-libp2p config, we can allow users to configure which of their own addresses they want to use for listening, as well as as the addresses that they are willing to announce to other peers in the network.

Reference:

Value

Having more control over how addresses are announced to the network greatly improves the potential availability of nodes on the network, and greatly simplifies node deployment. For example, when running a node on an EC2 instance of inside of a container, it's necessary to be able to announce the public address of the node rather than the listening addresses.

Benefits (if addressed)

  • Support for announcing only public addresses. This makes leveraging things like Elastic IPs very easy to do out of the box. Currently this must be done programatically.
  • Support for filtering out local addresses via noAnnounce.

go-libp2p already supports this, and we would be able to get js-libp2p feature parity closer with this. Moreover, js-libp2p has been prone to some issues regarding dialing, which would be mitigated by adding this feature. Some examples:

Risks (if not addressed)

Nodes that are not announcing reliable, public addresses risk not being dialable and create a burden for other nodes when doing so.

Expected output and constraints

An updated to js-libp2p to include the logic described at libp2p/js-libp2p#202 (comment). This should allow for specifying a new set of options when creating a Libp2p instance, to control what addresses are announced to the network.

Design/implementation notes

@jacobheun proposal on libp2p/js-libp2p#202#issuecomment-461070174

@jacobheun jacobheun changed the title [PLACEHOLDER] Add support for Addrs {listen, announce, noAnnounce} on js-libp2p Add support for Addrs {listen, announce, noAnnounce} on js-libp2p Aug 9, 2019
@raulk
Copy link
Member

raulk commented Aug 16, 2019

@vasco-santos I'm not sure this is substantial enough to be a scoped project worth rewarding via a devgrant. How long do you estimate this would take you or @jacobheun to implement?

@jacobheun
Copy link
Contributor

This has been added in js-libp2p 0.28.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants