ChainSafe / ChainSafe/lodestar
Select req/resp request type based on negotiated version
- 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
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