IPFS Documentation For PUB/SUB Architecture


I’m writing an article for a distributed app that I’m still working on for now, which uses the IPFS pubsub experimental feature and from what I have implemented so far I noticed that the publish data will just go over the https protocol.

Is there any kind of comprehensive documentation on the pubsub feature? Like packet structure and protocols that it implements.

PubSub will by default use a security layer (such as TLS or Secio) to get data from point to point over a transport layer (e.g. TCP), but it doesn’t use HTTP/S.

The pubsub component in IPFS really comes from libp2p. I would check out https://github.com/libp2p/specs/tree/master/pubsub for starters. It has links to the current routing protocols as well (i.e. floodsub and gossipsub). If you’re interested I would check out that specs repo as well as https://github.com/libp2p/go-libp2p for more information.

Please post back here or in the #ipfs or #libp2p Freenode IRC channels if you have more questions. If you want more details into the inner workings of libp2p, you might also benefit from looking around or asking questions at https://discuss.libp2p.io/.