You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Minimum Viable Product (MVP) Goals for Hole Punching Interop Test suite for py-libp2p
These are the core goals required to verify that
py-libp2p
's hole punching capability works and is interoperable with other libp2p implementations.1. Relay-Aware Peer Discovery & Setup
Connect to a known
go-libp2p
orjs-libp2p
relay node with/p2p-circuit
v2 support.Enable a
py-libp2p
peer to act as both:2. Protocol Compliance
3. Cross-Implementation Compatibility
Validate hole punching between
py-libp2p
and:go-libp2p
js-libp2p
Handle timing and protocol differences gracefully.
4. Test Suite Capabilities
Build a basic Python-based test suite.
Use Docker or subprocess to simulate:
Include NAT simulation using basic network isolation or tools like
iptables
.5. Connection Verification
Assert that successful hole punching results in:
6. Observability and Logging
Log:
Extended Goals (Post-MVP)
These enhancements will improve usability, reliability, and adoption of the test suite.
1. Full Protocol Compliance
Follow Hole Punching test plans repo and its spec/ go-implementation in detail, including:
2. Broader Interop Coverage
Add interop tests with:
nim-libp2p
dotnet-libp2p
zig-libp2p
rust-libp2p
Self-interop between multiple
py-libp2p
nodes.3. Advanced NAT Simulation
Use
pumba
,netns
, or similar to simulate:4. Enhanced Test Reporting
Produce:
5. CI & Automation
6. Framework & Reusability
Beta Was this translation helpful? Give feedback.
All reactions