the interface-libp2p
package doesn’t include Registrar
and ConnectionManager
which are essential to initialise a PeerDiscovery
instance.
when we pass in any peer discovery implemention using
libp2p: {
peerDiscovery: [xyz()]
}
xyz
is expected to take in Components
as an argument, which is not possible to construct anymore outside of that scope if we don’t expose ConnectionManager
and Registrar
from the API
tl;dr:
peer discovery implementations expect Components
as an argument for their initialisations, whereas it’s (seemingly) not possible to construct them when using interfaces-libp2p
as it doesn’t expose Registrar
and ConnectionManager
also look at: Registrar and ConnectionManager missing from interface-libp2p · Issue #338 · libp2p/js-libp2p-interfaces · GitHub
what is the recommended way to go about such a use case?