libp2p / specs

Technical specifications for the libp2p networking stack
https://libp2p.io
1.56k stars 273 forks source link

promote noise-libp2p spec to maturity stage 3A #263

Closed raulk closed 4 years ago

raulk commented 4 years ago

This spec now satisfies the conditions to be considered an ACTIVE RECOMMENDATION.

The two known interoperable implementations are:


ping @raulk, @tomaka, @romanb, @shahankhatch, @Mikerah, @djrtwo, @dryajov, @mpetrunic, @AgeManning, @morrigan, @araskachoi, @mhchia

Conformant to our spec lifecycle process, you have 10 days to dispute the promotion ;-)

raulk commented 4 years ago

@romanb do we consider rust-libp2p to be interoperable with r2 of the noise-libp2p spec? AFAIK, the rust-libp2p implementation predates the spec, so I'm uncertain.

@shahankhatch have you guys been able to test the jvm-libp2p Noise implementation against go-libp2p and js-libp2p?

romanb commented 4 years ago

@romanb do we consider rust-libp2p to be interoperable with r2 of the noise-libp2p spec? AFAIK, the rust-libp2p implementation predates the spec, so I'm uncertain.

It is not currently compatible, however, the differences are minor as far as I am aware, i.e. some naming and the domain separation for the static DH key signatures. There is already a PR that should make rust-libp2p fully compatible: https://github.com/libp2p/rust-libp2p/pull/1545.

djrtwo commented 4 years ago

cc: @ajsutton (I believe Shahan is no longer working on Teku/jvm-libp2p)

ajsutton commented 4 years ago

@Nashatyrev has taken over looking at jvm-libp2p's Noise implementation. I believe it now works with go-libp2p successfully. It was working with rust-libp2p prior to the latest spec tweak (I'm vague on the details).

Nashatyrev commented 4 years ago

@shahankhatch have you guys been able to test the jvm-libp2p Noise implementation against go-libp2p and js-libp2p?

@raulk

tomaka commented 4 years ago

The original rust-libp2p didn't conform the spec (at least it didn't support simple /noise protocol name) last time I tried it (around 2-3 weeks ago)

As mentioned above, there is an open PR that should make it compatible: https://github.com/libp2p/rust-libp2p/pull/1545 Testing against it to check whether it works would actually be great.

mhchia commented 4 years ago

The spec looks good!

py-libp2p should have worked with the go implementation as well. We have an interop test in CI to test against it.

jacobheun commented 4 years ago

As this has been sitting well beyond the requisite 10 days, I am merging this.