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

devp2p: support for RLPx version 5 #1004

Closed
holgerd77 opened this issue Jun 3, 2020 · 2 comments · Fixed by #1399
Closed

devp2p: support for RLPx version 5 #1004

holgerd77 opened this issue Jun 3, 2020 · 2 comments · Fixed by #1399

Comments

@holgerd77
Copy link
Member

Have no deep insight on this yet, just dropping here so that it gots not forgotten.

There seems to be a newer version 5 of the RLPx protocol we are currently on version 4 (see BASE_PROTOCOL_VERSION setting.

Connections do still work, there needs to be an update nevertheless at some point I guess, also not really aware of the implications.

Some references (feel free to add here):

Note: have labelled this "good first issue" since scope should be relatively clear once one is finding some valid specs here 😛, rather a PRO good first issue for someone with networking experience though.

@holgerd77 holgerd77 transferred this issue from ethereumjs/ethereumjs-devp2p Dec 4, 2020
@holgerd77 holgerd77 changed the title Support for RLPx version 5 devp2p: support for RLPx version 5 Dec 4, 2020
@holgerd77
Copy link
Member Author

This is still open and might be a good issue for getting some first exposure to the devp2p library (also see the note in the additional comment above) since the issue is very much targeted and small in scope, see the CHANGELOG for v5 from the specs (v5 simply and solely adds snappy compression to RLPx messages).

Nevertheless be prepared that changes on the devp2p library generally take more time to be executed upon than changes on other libraries, since it is often more fuzzy to get things tested under different conditions, eventually also write a test within our own devp2p test setup. So this might end up in a day (or two) of work.

In this case we should be on a somewhat safe side when client sync is still running with the changes and it is assured that compression is activated.

Ah, and one thing to consider here: both versions should be supported for some time, even if the version bump if somewhat old, this is just to be fair towards other clients which might not have implemented yet (if someone would drop instantly v4 support our own client would e.g. be cut off the network 😛 ).

So this would mean that an incoming HELLO RLPx message (RLPx version is sent there) with a v4 should be answered with a v4 response.

@acolytec3 acolytec3 self-assigned this Jun 24, 2021
@acolytec3
Copy link
Contributor

I'm coming back to this one now. Had some success getting the underlying snappy library to work right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment