connections/README.md is too biased and opinionated for library implementations
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 1.8k
- Forks
- 320
- Avg merge
- 11d 15h
- Merged PRs (30d)
- 1
Description
Currently, connections/README.md contains language that's specific to an implimentation of a libp2p library, go-libp2p. In general, to my view, the document also fails to address that Streams are essentially still "connections" to protocols.
The document also fails to address that multistream-select is a protocol that's used to allow for a more efficient protocol selection process, beyond the default behaviour (without multistream), which to my memory is; send/receive a null-terminated protocol byte-string, and when the other node repeats this string, the protocol is agreed upon, if not, the connection is closed. This is something that the document also fails to address, or at least fails to mention.
"Upgrading" connections is a strategy that a client can apply to the connection that has been established in between two nodes, however, this process is completely optional and non-binding per the definition of libp2p: modularity. The fact that this is indeed optional, or non-binding, is something that the document fails to address.
Lastly, at the end there are still some leftover concerns for the golang implimentation of libp2p. In my personal opinion, these issues/concerns have no home in a general spec document, and should instead be raised in their respective libraries (go-libp2p, in this example)
Please note: I am new to the libp2p ecosystem in regards to discussion and history of its development, but however I saw some issues with this document when it was handed to me to read it, on how to impliment it in py-libp2p. These are all personal thoughts and issues that I've gotten during reading of that document, please correct me if any of my assumptions in these comments are simply false, or if my opinions are unfounded.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with connections/README.md and compare its description with the issue's concerns about streams, multistream-select, optional connection upgrades, and implementation-specific material. Done means the document presents general, implementation-neutral libp2p behavior and removes concerns belonging to go-libp2p or py-libp2p.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, python
- Domain
- documentation, networking
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100