Collaborating on Project Flare for JavaScript implementation

Jose from HOPR here,

We have noticed Project Flare in the go implementation of libp2p and we wonder whether you are looking to allocate further resources there to solve NAT traversal on top of auto-relay in javascript. It would be great to collaborate on a solution and set up a joint meeting with some of your team members.

At HOPR we have been working for several months in hopr-connect solving the same issue. Currently, hopr-connect solves the NAT traversal issue by:

  • Adding a stun server so that every node can work out address translation from any public node,
  • Signaling via nodes in the network (currently a single bootstrap node) via WebRTC to allow direct communication when possible, continue via a relay when not possible.

On top of this, hopr-connect also includes the following features:

  • Use the knowledge about the network topology to decide which connection and method are available to use, e.g. which IP address to dial and/or which relay node to choose from.
  • Handle reconnects of NATd devices by reestablishing relayed connections to selected rendezvous points in the network (currently a single bootstrap node).

(See more details in Robert’s issue, the maintainer of hopr-connect).

Let us know your thoughts; we are looking forward to jumping on a call to make things easier to interact.