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

libp2p node interoperability #169

Closed
stuckinaboot opened this issue May 22, 2019 · 1 comment
Closed

libp2p node interoperability #169

stuckinaboot opened this issue May 22, 2019 · 1 comment

Comments

@stuckinaboot
Copy link
Contributor

stuckinaboot commented May 22, 2019

In order to test interoperability with other non-Python libp2p nodes, the first spec that should be ensured is that the libp2p open connection and open stream mechanisms interoperate.

In py-libp2p, the following messaging occurs when Node A and Node B open a new connection:

  1. A dials B
  2. A sends its peer ID to B and B sends its peer ID to A (this is where the Identify protocol would come into place, which still needs to be implemented to support different Identify services)
  3. A and B agree on a security transport module
  4. A and B agree on a multiplexer

Then, when Node A opens a new stream to Node B, the following messaging occurs in py-libp2p:

  1. A sends open stream message to B
  2. A and B agree on a particular protocol to use for communication across that stream

All PubSub mechanisms in libp2p rely on the underlying stream communication so imo it would be best to ensure opening connections and streams to non-python nodes works before moving on to testing PubSub’s interoperability

@mhchia
Copy link
Contributor

mhchia commented Sep 10, 2019

Closed by several issues before, and py-libp2p now can talk with other clients now! 🎉

@mhchia mhchia closed this as completed Sep 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants