Closed
Description
Done Criteria
WebTransport is another full-functioning transport in go-libp2p.
Two go-libp2p nodes can establish a connection using WebTransport following the spec.
The implementation is unit tested.
We have interoperability tests between versions.
libp2p documentation is updated for discoverability of this functionality
Why Important
This is covered more in the spec, but WebTransport provides a performant way for browsers (Chromium currently) to connect with the rest of the libp2p network.
Tasks
- noise: implement an API to send and receive early data #1728
- create an initial release of webtransport-go
- move go-libp2p-webtransport to p2p/transport/webtransport #1737
- swarm: fix selection of transport for dialing #1653
- webtransport: add and check the ?type=noise URL parameter #1749
- swarm: skip dialing WebTransport addresses when we have QUIC addresses #1756
- webtransport: move certhash verification to the client #1757
- webtransport: add custom resolver to add SNI #1761
- noise: switch to proto2, use the new NoiseExtensions protobuf #1762
- initial interop with js-libp2p (manual testing is ok for now) https://github.com/libp2p/js-libp2p-webtransport/tree/main/examples/fetch-file-from-kubo
Notes
- Connectivity with other implementations will be added once they are created.
- This is intended to be a tracking issue that can link other issues and PRs to for delivering this work.
Metadata
Metadata
Assignees
Type
Projects
Status
🎉 Done