From 05bfb856bb2b309800890bac23ad011689c17101 Mon Sep 17 00:00:00 2001 From: Max Inden Date: Wed, 31 May 2023 10:56:17 +0900 Subject: [PATCH 1/2] chore(roadmap): move webrtc to done With https://github.com/libp2p/specs/pull/412 and https://github.com/libp2p/specs/pull/497 merged, this roadmap item can be moved to "done". --- ROADMAP.md | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index cba6be946..1e51bbd4d 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -23,7 +23,6 @@ third-party data ownership. - [โฑ Full Observability](#-full-observability) - [๐Ÿงช Automated compatibility testing](#-automated-compatibility-testing) - [Stream Migration Protocol](#stream-migration-protocol) - - [WebRTC](#webrtc) - [๐Ÿค– libp2p as a Wasm library](#-libp2p-as-a-wasm-library) - [๐Ÿค Low latency, efficient connection handshake](#-low-latency-efficient-connection-handshake) - [๐Ÿ›ฃ๏ธ Peer Routing Records](#๏ธ-peer-routing-records) @@ -38,6 +37,7 @@ third-party data ownership. - [๐Ÿน RPC and other common node communication patterns](#-rpc-and-other-common-node-communication-patterns) - [Done](#done) - [๐Ÿ•ธ Hole punching on TCP and QUIC](#-hole-punching-on-tcp-and-quic) + - [WebRTC](#webrtc) ## Core Tenets Before we dive into what libp2p should support and enable, let's outline the core tenets that underpin the project. As maintainers, we commit to ensuring libp2p is: @@ -265,27 +265,6 @@ connection to a direct connection. - Tracking issue https://github.com/libp2p/specs/issues/328 - Specification draft https://github.com/libp2p/specs/pull/406#discussion_r852835671 -### WebRTC - -**Status**: In progress - -**What?** WebRTC is a transport protocol supported by all major browsers. Those -browsers allow the establishment of connections to remote endpoints that don't -have a TLS certificate signed by a trusted certificate authority. In addition -WebRTC includes hole punching capabilities. - -**Why?** In most p2p networks the majority of nodes do not have a signed TLS -certificate. With WebRTC browsers will thus be able to connect to these -previously unreachable nodes. In addition, being able to hole punch allows -browsers to connect to nodes behind firewalls and NATs e.g. other browsers. Note -that the former, namely connecting without trusted TLS certificate, can as well -be achieved with the [WebTransport](#โœˆ๏ธ-webtransport) protocol. - -**Links:** - -- Tracking issue https://github.com/libp2p/specs/issues/220 -- Specification draft https://github.com/libp2p/specs/pull/412 - ### ๐Ÿค– libp2p as a Wasm library **What?** This point encompasses two things: @@ -666,3 +645,25 @@ connect to the rest of the libp2p network. - [webtransport-go](https://github.com/marten-seemann/webtransport-go/) - [go-libp2p WebTransport](https://github.com/libp2p/go-libp2p/tree/master/p2p/transport/webtransport) - [js-libp2p WebTransport](https://github.com/libp2p/js-libp2p-webtransport/) + +### WebRTC + +**Status**: In progress + +**What?** WebRTC is a transport protocol supported by all major browsers. Those +browsers allow the establishment of connections to remote endpoints that don't +have a TLS certificate signed by a trusted certificate authority. In addition +WebRTC includes hole punching capabilities. + +**Why?** In most p2p networks the majority of nodes do not have a signed TLS +certificate. With WebRTC browsers will thus be able to connect to these +previously unreachable nodes. In addition, being able to hole punch allows +browsers to connect to nodes behind firewalls and NATs e.g. other browsers. Note +that the former, namely connecting without trusted TLS certificate, can as well +be achieved with the [WebTransport](#โœˆ๏ธ-webtransport) protocol. + +**Links:** + +- Tracking issue https://github.com/libp2p/specs/issues/220 +- [`/webrtc` specification](./webrtc/webrtc.md) +- [`/webrtc-direct` specification](./webrtc/webrtc-direct.md) From 533015b267bb7a8f11512739ff68fb20edd43b15 Mon Sep 17 00:00:00 2001 From: Max Inden Date: Wed, 31 May 2023 05:59:56 +0200 Subject: [PATCH 2/2] Update ROADMAP.md Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com> --- ROADMAP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ROADMAP.md b/ROADMAP.md index 1e51bbd4d..8c6884efd 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -648,7 +648,7 @@ connect to the rest of the libp2p network. ### WebRTC -**Status**: In progress +**Status**: Done **What?** WebRTC is a transport protocol supported by all major browsers. Those browsers allow the establishment of connections to remote endpoints that don't