mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-26 16:21:39 +00:00
chore(roadmap): update
- Update target completions. - Introduce QUIC hole punching item. - Add address pipeline and AutoNATv2. - Reword WebRTC item (not move to str0m) to entail both `/webrtc` and `/webrtc-direct`. Pull-Request: #3958.
This commit is contained in:
52
ROADMAP.md
52
ROADMAP.md
@ -12,7 +12,7 @@ roadmap](https://github.com/libp2p/specs/blob/master/ROADMAP.md).
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|--------------|-------------|-------------------|---------------------------------------------------|-----------------------------------------------------------------|------------|
|
||||
| Optimization | in progress | Q1/2023 | https://github.com/libp2p/rust-libp2p/issues/2032 | [Cross behaviour communication](#cross-behaviour-communication) | |
|
||||
| Optimization | in progress | Q2/2023 | https://github.com/libp2p/rust-libp2p/issues/2032 | [Cross behaviour communication](#cross-behaviour-communication) | |
|
||||
|
||||
Kademlia client mode will enhance routing table health and thus have a positive impact on all
|
||||
Kademlia operations.
|
||||
@ -21,10 +21,19 @@ Kademlia operations.
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|--------------|--------|-------------------|---------------------------------------------------|--------------|------------|
|
||||
| Connectivity | todo | Q2/2023 | https://github.com/libp2p/rust-libp2p/issues/2883 | | |
|
||||
| Connectivity | todo | Q3/2023 | https://github.com/libp2p/rust-libp2p/issues/2883 | | |
|
||||
|
||||
We added alpha support for QUIC in Q4/2022 wrapping `quinn-proto`. Evaluate using `quinn` directly, replacing the wrapper.
|
||||
|
||||
## QUIC - implement hole punching
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|--------------|--------|-------------------|---------------------------------------------------|--------------|------------|
|
||||
| Connectivity | todo | Q3/2023 | https://github.com/libp2p/rust-libp2p/issues/2883 | | |
|
||||
|
||||
Add hole punching support for QUIC. See also [DCUtR specification on usage with
|
||||
QUIC](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md#the-protocol).
|
||||
|
||||
## Attempt to switch from webrtc-rs to str0m
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
@ -33,11 +42,28 @@ We added alpha support for QUIC in Q4/2022 wrapping `quinn-proto`. Evaluate usin
|
||||
|
||||
Reduce maintenance burden and reduce dependency footprint.
|
||||
|
||||
## Optimize Hole punching
|
||||
## Address pipeline
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|--------------|--------|-------------------|----------|--------------|------------|
|
||||
| Optimization | todo | Q2/2023 | | | |
|
||||
| Connectivity | todo | Q4/2023 | | AutoNATv2 | AutoNATv2 |
|
||||
|
||||
Be smart on address prioritization. go-libp2p made a lot of progress here. Lots to learn. See https://github.com/libp2p/go-libp2p/issues/2229 and https://github.com/libp2p/rust-libp2p/issues/1896#issuecomment-1537774383.
|
||||
|
||||
|
||||
## AutoNATv2
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|--------------|--------|-------------------|----------|------------------|------------------|
|
||||
| Connectivity | todo | Q4/2023 | | Address pipeline | Address pipeline |
|
||||
|
||||
Implement the new AutoNAT v2 specification. See https://github.com/libp2p/specs/pull/538.
|
||||
|
||||
## Optimize Hole punching
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|--------------+--------+-------------------+----------+--------------+------------|
|
||||
| Optimization | todo | | | | |
|
||||
|
||||
We released hole punching support with [rust-libp2p
|
||||
`v0.43.0`](https://github.com/libp2p/rust-libp2p/releases/tag/v0.43.0), see also
|
||||
@ -51,8 +77,8 @@ hole punching stack.
|
||||
## Improved Wasm support
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|----------------------|--------|-------------------|---------------------------------------------------|--------------|----------------------------------------------|
|
||||
| Developer ergonomics | todo | Q3/2023 | https://github.com/libp2p/rust-libp2p/issues/2617 | | [WebRTC](#webrtc-support-browser-to-browser) |
|
||||
|----------------------+--------+-------------------+---------------------------------------------------+--------------+----------------------------------------------|
|
||||
| Developer ergonomics | todo | | https://github.com/libp2p/rust-libp2p/issues/2617 | | [WebRTC](#webrtc-support-browser-to-browser) |
|
||||
|
||||
The project supports Wasm already today, though the developer experience is cumbersome at best.
|
||||
Properly supporting Wasm opens rust-libp2p to a whole new set of use-cases. I would love for this to
|
||||
@ -60,15 +86,17 @@ happen earlier. Though (a) I think we should prioritize improving existing funct
|
||||
functionality and (b) we don't have high demand for this feature from the community. (One could
|
||||
argue that that demand follows this roadmap item and not the other way round.)
|
||||
|
||||
## WebRTC support (browser-to-browser)
|
||||
## WebRTC in the browser via WASM
|
||||
|
||||
| Category | Status | Target Completion | Tracking | Dependencies | Dependents |
|
||||
|--------------|--------|-------------------|--------------------------------------------|-------------------------------------------------------------------------------------------|------------|
|
||||
| Connectivity | todo | Q3/2023 | https://github.com/libp2p/specs/issues/475 | [Improved WASM support](#improved-wasm-support), https://github.com/libp2p/specs/pull/497 | |
|
||||
|--------------+--------+-------------------+--------------------------------------------+-------------------------------------------------------------------------------------------+------------|
|
||||
| Connectivity | todo | | https://github.com/libp2p/specs/issues/475 | [Improved WASM support](#improved-wasm-support), https://github.com/libp2p/specs/pull/497 | |
|
||||
|
||||
|
||||
Once WebRTC for browser-to-server is complete, we can begin work on **browser-to-browser** and complete the WebRTC connectivity story.
|
||||
We need to improve rust-libp2p's WASM story first.
|
||||
Use the browser's WebRTC stack to support
|
||||
[`/webrtc`](https://github.com/libp2p/specs/blob/master/webrtc/webrtc.md) and
|
||||
[`/webrtc-direct`](https://github.com/libp2p/specs/blob/master/webrtc/webrtc-direct.md) from within
|
||||
the browser using rust-libp2p compiled to WASM. This makes rust-libp2p a truly end-to-end solution,
|
||||
enabling users to use rust-libp2p on both the client (browser) and server side.
|
||||
|
||||
## WebTransport
|
||||
|
||||
|
Reference in New Issue
Block a user