-
Notifications
You must be signed in to change notification settings - Fork 279
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
Specify Discovery v5 #48
Comments
Implementation-tracking issues I know of are: |
|
Yes, we support v4 discovery in geth and will continue to do so for a long time. |
I'm not sure how that is. I start Geth with --lightserv X --lightpeers Y and the initialization code sets the variable |
Can you clarify how your client gets rejected exactly? Geth full node with |
Alas, my mistake. I saw this in the log: |
What's the state of Discovery V5 implementation in geth, that is https://github.com/ethereum/go-ethereum/tree/master/p2p/discv5 package? Is it considered ready or subject to refactor/rewrite? |
A small request for v5 (or later) - can we add a findNodeHash field to the Neighbors packet? Currently, it is impossible to correlate a Neighbors response from a peer to the FindNode request and associated target address. This results in the need to a) avoid any concurrent FindNode requests to a peer and b) use delays to try and ensure that all Neighbors packets have been received before a new FindNode request can be sent. Even then, there is no guarantee that a Neighbors packet responding to a previous request wasn't delayed on the network and received after a new FindNode request has been sent. Adding the hash of the FindNode request to the Neighbors response packet(s) would allow these issues to be avoided and simplify implementations. Please let me know if there is a better place to offer this suggestion! |
@cleishm I agree, we need better request/response correlation for all packets. |
@fjl: Right. I now see some work toward that in your p2p-drafts repo: https://github.com/fjl/p2p-drafts/blob/master/discv5-packets.md#neighbors-packet-0x03 What is the state of these drafts? I see some of the implementation in go-ethereum already? |
@cleishm Please see discv5 folder. A test implementation is underway. Things are still in flux a bit because of Eth 2.0 requirements. |
WIP Go implementation is here: https://github.com/fjl/go-ethereum/tree/discover-v5/p2p/discover |
Closing this in favor of the Discovery v5 issue milestone |
The existing discovery protocol has been around for a long time and has it's shortcomings. Some of those are listed in the specification.
There are a few things we want in the next version of the discovery protocol:
Some of these things, specifically the 'node metadata' parts are solved by ENR. We can even fit them into the existing protocol using the ENR extension.
We also have a prototype implementation of the indexing mechanism in go-ethereum, and a pretty clear idea about the wire protocol. But nothing is set in stone yet.
What remains to be done is:
If you want to start implementing discovery v5 now, it is best to start with ENR and the v4 extension.
Remaining tasks for this tracking issue:
The text was updated successfully, but these errors were encountered: