eg/1130-add-gossipsub-comparison-and-standalone-examples#1139
eg/1130-add-gossipsub-comparison-and-standalone-examples#1139Winter-Soren wants to merge 16 commits intolibp2p:mainfrom
Conversation
…2.0 showcase with peer scoring, adaptive gossip, and security features
…files with examples
…s' of https://github.com/Winter-Soren/py-libp2p into eg/1130-add-gossipsub-comparison-and-standalone-examples
…ype checking errors in gossipsub examples
|
Missing:
[v1.1]
|
…lty in gossipsub 1.0 and 1.1 examples
Hey @IronJam11, Thank you for flagging this!
Fanout (v1.0) and P6/P7 + PX + prune backoff + app score (v1.1) are now covered. |
|
@Winter-Soren , @IronJam11 : Hi friends. Appreciate the efforts. The PR does an excellent job of making the evolution of Gossipsub (v1.0 → v2.0) tangible through well-structured, runnable examples, something that has been missing in py-libp2p for a while. The multi-version comparison, scenario-based simulations (churn, spam, partitions), and especially the interactive v2.0 showcase with peer scoring and adaptive gossip provide real educational and debugging value for both new and experienced contributors. It’s also great to see the feedback loop handled so well, fanout behavior in v1.0 and the inclusion of P6/P7, PX, prune backoff, and optional app scoring in v1.1 really strengthen the completeness and accuracy of the examples. The attention to concurrency (trio nursery management), error handling, and metrics output makes this not just illustrative but practically usable. I’m aligned with the approach to scope this PR to all versions except v1.3 and take that up separately to avoid blocking the release. This is in a very good state to land once the final check clears, would be great to get this merged ahead of the upcoming release. |
Implements comprehensive examples showcasing Gossipsub protocol evolution (v1.0-v2.0) with interactive demonstrations of peer scoring, adaptive gossip, and security features.
What was wrong?
Issue #1130
The py-libp2p did not have comprehensive examples demonstrating the differences between Gossipsub protocol versions and showcasing the advanced features of Gossipsub 2.0.
How was it fixed?
Created a complete example suite in
examples/pubsub/gossipsub/with three main components:1. Multi-Version Comparison Demo (
version_comparison.py)2. Gossipsub 2.0 Feature Showcase (
v2_showcase.py)3. Convenient Runner Script (
run_examples.py)Key Technical Fixes:
To-Do
Cute Animal Picture