libp2p / libp2p/test-plans

add (rust-libp2p) gossipsub over WebRTC to interop tests

Open
#157 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
65
Forks
82
PR merge metrics
No merged PRs in 30d

Description

I'm not exactly sure where to open this issue, as I also see a repo for interop tests over here: https://github.com/libp2p/interop . If I've missed where this test is, my appologies.

Right now we are seeing some connectivity challenges within rust-libp2p operating over WebRTC transport to the browser.

See

Work is being done to demonstrate the universal connectivity amongst libp2p implementations:

Fixes for these issues are in the works, such as:

I'm looking for interop tests for this to streamline troubleshooting and development, but have not found any to support this yet. This issue proposes an interop test, particularly for Gossipsub over WebRTC between rust and js, as it's in active troubleshooting at the moment.

It appears the interop tests for pubsub cover js and go:

https://github.com/libp2p/interop/blob/ce0aa3749c9c53cf5ad53009b273847b94106d40/src/pubsub/gossipsub.ts#L8-L9

export function gossipsubTests (factory: DaemonFactory) {
  const nodeTypes: NodeType[] = ['js', 'go']

but I am having a hard time finding the test where each of the different transports are used.

Contributor guide

No contributing guide indexed for this repository

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 comparing the existing pubsub test in interop/src/pubsub/gossipsub.ts, especially its js/go node types, with the linked rust-libp2p WebRTC issue and related pull requests. Identify where transport-specific interop tests are defined, then add coverage for Gossipsub over WebRTC between Rust and JavaScript with a reproducible passing test.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, rust
Domain
networking, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.