-
Notifications
You must be signed in to change notification settings - Fork 998
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
identify: implement SignedPeerRecord #4017
Comments
I'd love to see what you built locally and have it land here eventually. I'd be happy to iterate with you on it in a PR :) |
Thanks for taking the time to implement a solution, it would be cool to see what you did. You should still be able to use rust as a relay server over webRTCDirect as it's not dependent on I would be interested to see what your configuration is, but as a reference you could take a look at our unviersal connectivity example chat app, where establish a webRTCDirect connection on with rust server from a browser (js) node to then dial another browser node over |
Thanks for your support on this!
Actually this is the project is where my investigations began. You're absolutely right that the relay connection via webrtc-direct does work (regardless of the SignedPeerRecords). That reminds me (which I forgot about while creating the issue) is that the problem I'm trying to solve here is not about connection but rather about peer discovery (hence identify protocol) In my configuration I was trying out pubsub peer discovery, rather than manual dialing. |
I would say that there a variety of peer discovery mechanisms which may be applicable to your use case. In the case of universal connectivity we use kademlia DHTs for discovery. Those resources should point you in the right direction. |
Update:
This is currently working correctly in the More precisely the "legacy" identify path has been removed. This results in there being a requirement for If you think thats accurate I can close this issue and create an issue there. |
Even if it is a confirmed bug, it would still be great to implement signed peer records in identify in rust-libp2p! So I'd like to keep this open to track the effort. |
Thanks for finding this @Marcel-G but I am not sure this is accurate because the I am actually in the process of upgrading universal connectivity to use Since rust-libp2p should support |
Hi @thomaseizinger, My name is Gang. I'm part of PLDG cohort 1. Could i claim this issues. |
Please refer to one of the current maintainers for that. |
@tesol2y090 you are welcome to open a PR to address this issue |
Description
As part of the identify protocol
signedPeerRecord
contains a serialized SignedEnvelope containing a PeerRecord,signed by the sending node. It contains the same addresses as the listenAddrs field, but in a form that lets us share authenticated addrs with other peers.
Currently the
rust-libp2p
identify protocol does not implementsignedPeerRecord
https://github.com/libp2p/rust-libp2p/blob/master/protocols/identify/src/generated/structs.proto#L5
For reference
go-libp2p
does:https://github.com/libp2p/go-libp2p/blob/master/p2p/protocol/identify/pb/identify.proto#L35
Is there a plan to implement this in the near future, is there something blocking it?
Motivation
There was an change in
js-libp2p
v0.45.0
which makes it no longer work the same for identify records wheresignedPeerRecord
is omitted libp2p/js-libp2p#1789. This results in there being a requirement for signedPeerRecord in order for peer identify records to be consumed in v0.45.0.This appears to be a bug on the
js-libp2p
side, however leaving this issue open to track progress ofsignedPeerRecord
in the identify protocol.Are you planning to do it yourself in a pull request?
I have implemented something locally and can verify it can work as expected with
js-libp2p
v0.45.0
. However, I'm not sure I have enough context to contribute to this at this stage.The text was updated successfully, but these errors were encountered: