Add jvm-libp2p implementation for gossipsub-interop#772
Closed
raulk wants to merge 35 commits intolibp2p:masterfrom
Closed
Add jvm-libp2p implementation for gossipsub-interop#772raulk wants to merge 35 commits intolibp2p:masterfrom
raulk wants to merge 35 commits intolibp2p:masterfrom
Conversation
adds Go implementation of partial messages and changes to the test runner to support it.
go-libp2p debugging lines debug print rust
We create a chain topology 1 <-> 2 <-> ... <-> n. Provide each node with one part of the message. And then publish the message from one of the nodes. Eventually all the nodes should have all the messages.
- treat None metadata as peer having nothing, send all available parts - create topic/group entries on-the-fly when receiving unknown partial messages instead of error'ing - log "All parts received" when local node has complete message
Adds a JVM/Kotlin implementation of the gossipsub interop binary for Shadow network testing. This enables testing jvm-libp2p's gossipsub implementation alongside go-libp2p and rust-libp2p. Key additions: - jvm-libp2p/ directory with Kotlin implementation - Deterministic ED25519 key generation from node ID - Params.json parsing with polymorphic script instructions - Partial message support for PeerDAS testing - Integration with Makefile for jvm builds Usage: - make gossipsub-interop-jvm # Build the JVM binary - Compositions: all-jvm, go-jvm, jvm-go Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a JVM/Kotlin implementation of the gossipsub interop binary for Shadow network testing. This enables testing jvm-libp2p's gossipsub implementation alongside go-libp2p and rust-libp2p in the Shadow simulator.
Key additions:
Usage
Supported compositions
all-jvm- All JVM nodesgo-jvm- Go publisher, JVM subscriberjvm-go- JVM publisher, Go subscriberDependencies
This PR depends on: libp2p/jvm-libp2p#433
Test plan
all-jvmcomposition