HelloZeroNet / HelloZeroNet/ZeroNet

Proposal: Using libp2p for network-related communication

Open
#2,198 13 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
18.8k
Forks
2.3k
PR merge metrics
No merged PRs in 30d

Description

libp2p aims to be a catch-all solution for all things p2p-network.

That means that adding components such as mDNS doesn't require any careful development for each solution on it's own, but rather enables application creators to pick from a gigantic library of existing modules that implement capabilities such as mDNS, kademila DHT, TCP and UDP networking support

I'm making this proposal, to see whether and how it can be implemented

The plan to enable it would be to:
- First integrate py-libp2p networking and run a seperate swarm besides the current swarm, but on the same port (this should be possible by first checking if the incoming data is multistream or TLS)
- Integrate all custom networking components into the libp2p swarm using modules
- Switch the other swarm off for good, once the functionality of the libp2p swarm is confirmed and a majority of users has upgraded

// cc @filips123 @imachug @blurHY

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by mapping the current swarm and the proposed py-libp2p networking integration; the issue does not name files, tests, or entry points. Review how a parallel swarm could share a port and identify the existing custom networking components. Done would require integrating those components into libp2p, confirming equivalent functionality, and eventually retiring the other swarm.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.