Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add the WebTransport effort to the roadmap #407

Merged
merged 1 commit into from
May 23, 2022

Conversation

marten-seemann
Copy link
Contributor

@marten-seemann marten-seemann commented Apr 17, 2022

My experimentation with WebTransport shows that there are no blockers to getting this implemented an rolled out. In fact, webtransport-go is able to communicate with browser nodes, and we have resolved the peer authentication issue in #404, even avoiding double encryption.

95% of the complexity of getting this implemented is on the Go side, and the remaining 5% on the JS side. If we want to prioritize this effort, the remaining work on the Go side is ~1-2 weeks, and 1-2 days on the JS side.
On the Rust side, this will probably be a lot harder to get going, considering that rust-libp2p doesn't have a QUIC implementation yet, let alone a WebTransport implementation. However, we don't need to implement this in rust-libp2p (for now), we can already reap the benefits of connection js-libp2p to go-libp2p nodes, at least in the IPFS and the Filecoin network.

Copy link
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for tracking this on the roadmap.

In my opinion we should not prioritize this over "Automated compatibility testing".

@marten-seemann
Copy link
Contributor Author

In my opinion we should not prioritize this over "Automated compatibility testing".

I wish we were in the position to have better testground testing, but unfortunately that turns out to be a longer-term project. Realistically speaking, we're in the position here to ship a substantial improvement to the connectivity situation in the libp2p network within less than a month, and I don't it would be wise have this effort blocked by our testground effort.

Testing-wise, as undesirable as the current situation is, we still have the go-ipfs transport interop tests, and it should be trivial to add this as another transport test there (assuming that it does run a headless Chromium).

@MarcoPolo
Copy link
Contributor

I think we should prioritize this, especially since there are no blockers and the change would unlock a new whole capability for browsers.

Happy to implement the “5%” js side and help with the Go stuff.

Very exciting!

Copy link
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am fine merging here.

@marten-seemann marten-seemann merged commit f6f7f7a into master May 23, 2022
@marten-seemann marten-seemann deleted the webtransport-roadmap branch May 23, 2022 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants