This issue is an attempt to gather information relating to WASM support for rust-libp2p as well as serve as somewhat of a tracking / discussion issue.
Transports
The general approach that we've been taking for transports it to use the web-sys bindings and code against those directly. This allows us to stay in Rust land without having to write any JS. Additionally, the acceptance criteria for any further transport is that they are integrated in the interop-test suite.
Testing
We have additional tests that go beyond the interop suite in the wasm-tests directory: https://github.com/libp2p/rust-libp2p/tree/master/wasm-tests
- [x] https://github.com/libp2p/rust-libp2p/pull/4015
- [x] https://github.com/libp2p/rust-libp2p/pull/4248
- [ ] https://github.com/libp2p/rust-libp2p/issues/3611
- [ ] https://github.com/libp2p/rust-libp2p/issues/4389
- [ ] Remove `libp2p-wasm-ext` in the next breaking release
- [ ] https://github.com/libp2p/rust-libp2p/issues/4509
Previous Implementations of WASM libp2p
This issue is an attempt to gather information relating to WASM support for rust-libp2p as well as serve as somewhat of a tracking / discussion issue.
Transports
The general approach that we've been taking for transports it to use the
web-sysbindings and code against those directly. This allows us to stay in Rust land without having to write any JS. Additionally, the acceptance criteria for any further transport is that they are integrated in the interop-test suite.Testing
We have additional tests that go beyond the interop suite in the
wasm-testsdirectory: https://github.com/libp2p/rust-libp2p/tree/master/wasm-testsPrevious Implementations of WASM libp2p