Small glossary:
- Helia API - the interface implemented by
helia, @helia/http and maybe others one day. It exposes a .libp2p property.
- helia an implementation of the API that uses libp2p
- @helia/http an implementation of the API that (in theory) only uses HTTP gateways
This is in reaction to #372 where we have an implementation of the Helia API (so it's compatible with @helia/unixfs, @helia/dag-cbor, etc) that doesn't use libp2p and does everything over HTTP.
Modules like @helia/ipns use the ContentRouting and PeerRouting interfaces from libp2p via the Helia API to do things like look up records or find providers for content.
We have modules like @helia/delegated-routing-v1-http-api-client which implement one or both routing interfaces but only over HTTP.
If the Helia API exposed the Content/Peer routing APIs then helia could call through to libp2p and @helia/http could call implementations like @helia/delegated-routing-v1-http-api-client. Block brokers could use this to find HTTP block/car providers in the routing.
We could probably remove libp2p from the Helia API then - helia would be free to add it back in to expose it for anyone who wants to drop down to a lower level.
cc @ipfs/helia-dev
Small glossary:
helia,@helia/httpand maybe others one day. It exposes a.libp2pproperty.This is in reaction to #372 where we have an implementation of the Helia API (so it's compatible with
@helia/unixfs,@helia/dag-cbor, etc) that doesn't use libp2p and does everything over HTTP.Modules like
@helia/ipnsuse the ContentRouting and PeerRouting interfaces from libp2p via the Helia API to do things like look up records or find providers for content.We have modules like @helia/delegated-routing-v1-http-api-client which implement one or both routing interfaces but only over HTTP.
If the Helia API exposed the Content/Peer routing APIs then
heliacould call through to libp2p and@helia/httpcould call implementations like@helia/delegated-routing-v1-http-api-client. Block brokers could use this to find HTTP block/car providers in the routing.We could probably remove libp2p from the Helia API then -
heliawould be free to add it back in to expose it for anyone who wants to drop down to a lower level.cc @ipfs/helia-dev