ethereum / ethereum/ddht

Add support for stream find nodes to Alexandria client / network

Open
#273 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
19
Forks
15
PR merge metrics
No merged PRs in 30d

Description

## What was wrong?
Support for `stream_find_nodes` was recently added to `v5_1` network & client. This api should be implemented for the Alexandria client and network.

## How can it be fixed?
From https://github.com/ethereum/ddht/pull/263#discussion_r539430526

> Think it's going to be a little complicated to do it cleanly because we can expose a common subscribe(...) API but they use different message types for their FindNodes messages which makes a common implementation a bit more complex but doable.
>
> First step is going to be proxying the subscription API so that it can be accessed directly from NetworkAPI.subscribe(...) (which under the hood simply proxies to the dispatcher).
>
> Next you'll have to adjust this function to take the type of the FindNodesMessage.
>
> And then you'll still have to deal with the fact that the messages are shaped differently and so you won't be able to access their payloads the same way... icky.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the existing v5_1 stream_find_nodes implementation and trace how NetworkAPI.subscribe() proxies to the dispatcher. Compare the Alexandria and v5_1 FindNodesMessage types and their payload shapes; done means Alexandria client and network support the API without assuming identical message structures.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.