Description
Hi,
Just wanted to get the ball rolling on this. As discussed in Discord.
Some links from a quick search.
https://github.com/rs-ipfs/rust-ipfs/tree/master/bitswap
https://github.com/ipfs-rust/libp2p-bitswap
https://github.com/ChainSafe/libp2p-bitswap/
https://docs.substrate.io/rustdocs/latest/src/sc_network/bitswap.rs.html
https://github.com/n0-computer/iroh/tree/main/iroh-bitswap/src
Drop your own below!
My experience with Bitswap is limited. I had to slightly modify rust-ipfs impl. of it for my Testground uses.
Here's some points I find important;
- Allow any block providing strategy.
- Provide all possible events.
- Stats tracking.
rust-ipfs impl. did allow for different strategy but was missing a block sent complete event I needed.
Is there official spec written somewhere?
Do we start from scratch or modify one of the existing implementations?
Could we not implement GraphSync instead?
Thanks.