You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -58,8 +81,8 @@ Others supporting projects (like testing or benchmarking) will have different cr
58
81
#### Up Next
59
82
- A.3 📺 Universal Browser Connectivity - **WebRTC for Browser to Browser**
60
83
61
-
# Roadmap Appendix
62
-
## A. 📺 Universal Browser Connectivity
84
+
##Roadmap Appendix
85
+
###A. 📺 Universal Browser Connectivity
63
86
<!--- TODO: Link to GitHub Epic -->
64
87
65
88
**Why**: A huge part of “the Web” is happening inside the browser. As a universal p2p networking stack, libp2p needs to be able to offer solutions for browser users.
@@ -70,7 +93,7 @@ Others supporting projects (like testing or benchmarking) will have different cr
70
93
2.[WebRTC for Browser to Server](https://github.com/little-bear-labs/js-libp2p-webrtc/pull/4): This will cover the browsers that don't support WebTransport (most notable is iOS Safari). This is getting close to finalized.
71
94
3. WebRTC for Browser to Browser: Even though this use case is made possible by [webrtc-star](https://github.com/libp2p/js-libp2p-webrtc-star) and [webrtc-direct](https://github.com/libp2p/js-libp2p-webrtc-direct) currently, they are a less than ideal solutions. Both libraries have shortcomings, aren't implemented in other languages, and don't employ newer libp2p advancements such as Circuit Relay v2, DCUtR, and authentication via Noise. Therefore, we want to support WebRTC Browser to Browser as a first class transport in js-libp2p and deprecate the previous libraries. This is beginning to be [specified here](https://github.com/libp2p/specs/pull/412).
72
95
73
-
## B. 🥊 Decentralized Hole Punching
96
+
###B. 🥊 Decentralized Hole Punching
74
97
<!--- TODO: Link to GitHub Epic -->
75
98
**Why**: P2P networks can have a combination of both public and private nodes. While private nodes can dial nodes on the public Internet, they are unreachable from the outside as they are behind a NAT or a firewall. We need a mechanism to dial them. A [previous DHT crawl found that almost 63%](https://github.com/libp2p/specs/blob/master/ROADMAP.md#-hole-punching-on-tcp-and-quic) of the network was undialable. This project aims to implement Decentralized Hole Punching in js-libp2p and bring it to parity with the Go and Rust implementations.
76
99
@@ -81,13 +104,13 @@ Others supporting projects (like testing or benchmarking) will have different cr
81
104
4. Hole Punching - Use [DCUtR](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md) to synchronize hole punching
82
105
83
106
84
-
## C. 🧪 Future-proof Testing
107
+
###C. 🧪 Future-proof Testing
85
108
<!--- TODO: Link to GitHub Epic -->
86
109
**Why**: JS support doesn't exist in Testground yet. In addition to the work to get generic JS test runners, we need support in Testground.
87
110
88
111
**Goal**:
89
112
1.[Browser Environment Tests](https://github.com/testground/testground/issues/1386): Add support for testing browser features within a browser environment.
90
113
2. Test DHT Server Mode at scale: Requires adding support for js-libp2p in Testground. Server mode is implemented but we need a way to ensure it works and to do that we need a very large network testbed (>20 node at least; ideally 100/1000+.)
91
114
92
-
## Libp2p Project Roadmap
115
+
###Libp2p Project Roadmap
93
116
Roadmap items in this document were sourced from our the overarching libp2p project roadmap: https://github.com/libp2p/specs/blob/master/ROADMAP.md
0 commit comments