ethresearch / p2p

30 stars 0 forks source link

Minimum libp2p requirements #4

Open djrtwo opened 5 years ago

djrtwo commented 5 years ago

It came to my attention that the best way to proceed for our client implementers is to define the minimum requirements that everyone will need from libp2p. Once we do this, we can create a living document in eth2.0/specs.

@ChihChengLiang pointed me to this document that the python research team created https://notes.ethereum.org/rKL3yiLcRKepNxGHReBsKg

Can anyone confirm that this is the minimum functionality that we need? And if not, what is missing?

djrtwo commented 5 years ago

@mhchia confirmed that this doc represents the components that he thought were necessary for implementations to get started.

@raulk Can you confirm that there is not anything missing that we might require.

raulk commented 5 years ago

@djrtwo From my point of view.

minimal libp2p implementation (very much coherent with what the document outlined):

high-level protocols required for Serenity:


I think the above covers the needs for a basic implementation in the context of Serenity. It's a solid foundation to continue building further modules:


EDIT: In my original response, I had forgotten to add the mplex stream muxer as the simplest implementation of a multiplexer. Fixed.