Beetswap uses libp2p-core v0.42.0
Which means that any time you want to use Beetswap, you'll need core v0.42.0
.
Oh, you want to use WebRTC though? That's fine.
Well, you'll need libp2p-webrtc-websys
version 0.4.0
because anything before that breaks because __Nonexhaustive
was switched to __Invalid
in wasm-bindgen
.
What's that you say? libp2p-webrtc-websys
version 0.4.0
depends on libp2p-core ^0.43.0
, which means beetswap won't work, so you'll need to fork that, create a branch that depends on core 0.42.0
.
THEN there's the fact that the commit for libp2p-core v0.42.0
depends on libp2p-webrtc-utils v0.2.1
,
but you'll need libp2p-webrtc-utils v0.3.0
in order for libp2p-webrtc 0.8.0-alpha
to be compatible with it.
But there is no git tag for libp2p-webrtc-utils-v0.3.0
, so you cannot reference a commit for it. So you need ANOTHER
branch with core 0.42
+ utils 0.3
combined in order to use those.
That's just to get all the versions to be compatible with each other. Otherwise, the dependency tree breaks.