3 ms·
ipfs-embed is using rust-libp2p and official protocols like gossipsub. So for that it is fully compatible with the ipfs network. At least as compatible as you c
by rklaehn 4y ago
ipfs-embed is using rust-libp2p and official protocols like gossipsub. So for that it is fully compatible with the ipfs network. At least as compatible as you can get when the specs are sometimes vague.
Bitswap has a compat mode, but when two ipfs-embed versions talk to each other they use a different protocol.
Note that ipfs-embed is made for a different use case than the global ipfs. It is typically used by private swarms where there are a smaller number of nodes. So e.g. we don't use the DHT at all.
We also found that go-ipfs compat is not that useful for our use case, so the compat layer was mainly done as a service to the community and might not work with the latest go-ipfs / kubo.
- stavros 4y agoMakes sense, thanks! I'm not sure what not using the DHT entails, does that mean you can't discover content? That can't be it, so how does that happen? Is it just gossip?
- rklaehn 4y agoYes, pretty much. Basically the nodes of the swarm (around 100 at most) gossip events to each other. That is also how they learn about the presence of the other nodes. They try to stay connected as well as the network topology allows. Then when you want some bulk data via bitswap they just ask their current peers. Either the emitter of the data is a current peer, then it obviously has it. Or eventually one of your peers will replicate the data, and then you will get it with some delay. The latter happens frequently if a part of the swarm is behind a NAT. You have some delay, but eventually everybody gets all events.