libp2p / libp2p/rust-libp2p

WASM support

Open
#2,617 11 comments 19 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tracking-issue
Dominant language
Rust
Stars
5.6k
Forks
1.3k
Avg merge
8h 47m
Merged PRs (30d)
19

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the unchecked task links, the interop-test suite, and the additional tests in wasm-tests. Check the remaining work around libp2p-wasm-ext and the referenced issues before choosing a specific task; done is completing one scoped item with the relevant interoperability or WASM tests passing.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.