ChainSafe / ChainSafe/lodestar

Select req/resp request type based on negotiated version

Open
#8,177 0 comments 0 reactions 0 assignees View on GitHub
meta-feature-request scope-networking
Dominant language
TypeScript
Stars
1.4k
Forks
483
Avg merge
1d 16h
Merged PRs (30d)
150

Description

It's not trivial in our architecture to select req/resp request type based on negotiated version as we serialize the data in the main thread, but protocol negotiation (done by libp2p) happens in the network thread.

See https://github.com/ChainSafe/lodestar/pull/8168 for more details.

Contributor guide

Open the contributing guide

Research direction

Start by reading the architecture described in this issue and the linked pull request #8168. Trace how protocol negotiation occurs in the libp2p network thread and how request/response data is serialized in the main thread. Done means the request type is selected from the negotiated version without breaking this thread boundary.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.