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?