ethereum / devp2p

Ethereum peer-to-peer networking specifications
979 stars 275 forks source link

discv5: TALKREQ/TALKRESP to allow extending the protocol #156

Closed pipermerriam closed 4 years ago

pipermerriam commented 4 years ago

From @fjl in the research discord:

In the stable spec release, due next week, I will add the TALKREQ/TALKRESP messages. The idea behind those is allowing you to install basic message handlers behind a protocol name, in discovery The request is TALKREQ [ req-id, protocol, data ] You could use this mechanism for your data DHT experiment e.g. you could add a handler for your "chaindata" protocol (or whatever you want to call it) and serve the requests this way. If you announce the capability to serve data this way in ENR, it should be pretty easy to build an extra routing table for your data DHT. Does that sound like a good starting point? The TALKREQ thing is a very flexible extension point, I think. The intended use for this is 'agreeing to talk', which is why it's called TALKREQ. But since it's a totally free-form extension point, it could also be used for experiments.

A brief search yielded no information about a TALKREQ/TALKRESP set of messages. Their usage and implementation looks relatively intuitive. Is this still planned/wanted. If so I can take a stab at opening a PR to add these message types.

fjl commented 4 years ago

Hey, sorry, life got in the way and I didn't have the time to finish up the spec yet. I did define those messages in my local branch for the update, just pushed it to #157.

pipermerriam commented 4 years ago

No need to apologize at all. I just recently started hammering on our python implementation of the spec and wanted to keep track of this. :heart: