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
// MyApp has 10 protocols that get enabled once some event happensclassMyApplibp2p: Libp2pstaticasyncinit(): Promise<MyApp>{returnnewMyApp(awaitcreateLibp2p({streamMuxer: mplex(),services: {identify: identify()})}...onSomeEvent(e){awaitPromise.all([this.libp2p.handle('protocol1', ...),this.libp2p.handle('protocol2', ...),this.libp2p.handle('protocol3', ...),this.libp2p.handle('protocol4', ...),this.libp2p.handle('protocol5', ...)
...
])}}
This innocuous app will likely drop all connections to peers that accept identify-push when the 'some event' happens.
Each call to libp2p.handle updates the local peer store, and triggers a separate identify-push.
These identify-push streams are locally opened and closed quickly.
Receiving peers receiving a bunch of spammy identify-push requests will send back stream resets.
These stream resets will appear to the local node coming from "unknown stream ids" and will blow the rate limiter limit, triggering a connection close.
The text was updated successfully, but these errors were encountered:
Description:
Imagine this scenario:
This innocuous app will likely drop all connections to peers that accept identify-push when the 'some event' happens.
libp2p.handle
updates the local peer store, and triggers a separate identify-push.The text was updated successfully, but these errors were encountered: