feat(p2p): always connected peers
We should have a set of peers (configurable size) that we store in memory, as main peers. These can be used to send bitswap requests to, as well as improve general connectivity.
- go-ipfs impl: https://github.com/ipfs/go-ipfs/blob/master/peering/peering.go
- https://docs.ipfs.io/how-to/peering-with-content-providers/#content-provider-list
- AddressBook Attempt in libp2p https://github.com/libp2p/rust-libp2p/pull/2133
- AddressBook in ipfs-embed https://github.com/ipfs-rust/ipfs-embed/blob/master/src/net/peers.rs
@mxinden any thoughts/preferences on doing this internal to rust-libp2p vs external? Any plans on reviving sth like an AddressBook again?
For the record, I will follow up with a design doc incorporating the recent out-of-band discussion.
@dignifiedquire would you mind following up here?
https://github.com/libp2p/rust-libp2p/discussions/2118#discussioncomment-3134752
I enumerated 3 proposals in https://github.com/libp2p/rust-libp2p/issues/2824.