Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding MQTT protocol #106

Open
ConsciousCode opened this issue Mar 11, 2020 · 5 comments
Open

Adding MQTT protocol #106

ConsciousCode opened this issue Mar 11, 2020 · 5 comments

Comments

@ConsciousCode
Copy link

IoT seems to be a good use-case of libp2p in general, so support should be added for IoT protocols like MQTT. Luckily it already has a path-like addressing syntax, so it could be considered a (restricted) type of path protocol, eg /mqtt/stat/tasmota/POWER. This can then be combined with host resolution protocols, eg /mdns/mqtt.local/tcp/1883/tls/sni/mqtt/stat/tasmota/POWER

@Stebalien
Copy link
Member

It looks like MMQT is a protocol that could run over libp2p, but it doesn't look like it would work as a libp2p transport.

@mikeal
Copy link

mikeal commented Mar 11, 2020

I bet @mcollina has some ideas about this ;)

@ConsciousCode
Copy link
Author

I don't know if I'm stretching the definition of "transport", but topics can be thought of as producing/consuming short strings and thus addressing resources, like in the example provided which addresses an IoT device's power status

@ntninja
Copy link
Contributor

ntninja commented Sep 1, 2020

Regardless of whether MQTT is a good use-case for libp2p, I think it should be added as a terminator protocol to the multiaddr protocol list.

@mcollina
Copy link

mcollina commented Sep 3, 2020

MQTT is based on a client-server logic. You can run mqtt from a client to a server on any duplex connection. Originally it was run even on RS232.

On the JS side, it can run on any Node.js Duplex (even on browsers).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants