WebRTC-Direct v2 spec finalization and implementation
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.6k
- Forks
- 546
- Avg merge
- 8h 18m
- Merged PRs (30d)
- 16
Description
Part of the Filecoin ProPGF Batch 3 grant (#3602).
Finalize the WebRTC-Direct v2 specification and ship its implementation in js-libp2p, with interoperability validated against go-libp2p.
This one is time-sensitive. WebRTC-Direct v1 depends on ICE credential munging, which Chrome is in the process of removing. Until v2 ships, that is the connectivity path every browser client uses to dial a public node.
go-libp2p merged its implementation on 2026-07-08 and shipped it in v0.49.0 on 2026-07-28, so the counterpart to interoperate against already exists and the wire format is settled in practice.
Completion criteria: WebRTC-Direct v2 specification finalized and a working implementation shipped in js-libp2p, with interoperability validated against go-libp2p.
Target: November 14, 2026.
Work for this milestone should reference this issue so it collects here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the WebRTC-Direct v2 wire format in the go-libp2p implementation shipped in v0.49.0, then locate the corresponding js-libp2p networking entry points. Confirm the specification, implement the JavaScript counterpart, and validate interoperability against go-libp2p before the November 14, 2026 target.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, typescript
- Domain
- distributed-systems, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100