I’m trying to build an application, relying on IPFS, OrbitDb and GStreamer (C lang).
This application, requires 3 components each running an IPFS node.
One in Go + C that run gstreamer.
One in the browser for GUI,
And one another in node.js to handle orbitdb and dedicate some storage to IPFS (+ eventually signaling etc…).
I am able to connect the node in the browser to the node in the “server”(node.js) and connect browser’s node to the Go-CoreApi. Things begin to turn weird when I try to use pubsub between them.
Node.js and Go subscribe to the same topic “myTopic”
When Browser publish on “myTopic” only Node.js’s node receives it.
What’s strange about this is that if I run a Standalone daemon, next to the whole (locally - single host), and subsribe to “myTopic” then Go’s node receives the publish. (I don’t actually manually connect the standalone daemon in code)
My understanding, is that the standalone Daemon act as a relay, but I don’t know why it don’t works in first instance even with Node.js’s node as relay.
I’m trying to find an explanation, about this behaviour.
The differences between go-ipfs daemon and my go code (that was derived from the daemon), is that I don’t serve the API or the Gateway. They both use the same configuration (but I’m not sure that in the code they are equally reflected).
Regarding the above I have few questions,
Does someone already encounter (and solved) the “connect works, but pubsub don’t” problem ?
Does Pubsub requires somehow the Api / Gateway enabled ?
Does the use of multiAddr websockets requires to serve HTTP gateway / Api ?
Feel free to ask details and code samples.
Thank you for reading.
Have a good day/evening/night.