WalletConnect / WCIPs

WalletConnect Improvement Proposals
13 stars 5 forks source link

WCIP-13: Use MQTT standard for peer communication #13

Open abhriyaroy opened 4 years ago

abhriyaroy commented 4 years ago

Problem

Walletconnect v1.0 uses non-standard socket implementation which needs to be handled effectively on following scenarios:

Having multiple connections for each DApp is an inefficient way of handling sockets where optimization is essential.

Solution

Use the MQTT standard with QoS=2 instead of custom socket implementations: https://mqtt.org/

The bridge will work as MQTT broker and maintain only one connection per device.

Benefits for using MQTT over custom socket implementation:

ligi commented 4 years ago

Thanks for the proposal - but as far as I see this WCIP needs more details like considerations on the upgrade path and backward compatibility.

abhriyaroy commented 4 years ago

I am not sure how to go about it without losing backward compatibility, but this is a necessary change. So, I am open to comments.

Current version needs to fix this one way or another when users start to use walletconnect with multiple DApps at once.

ligi commented 4 years ago

We can't just break WalletConnect backward compatibility at this point in time and need to offer a migration path. Perhaps we use the 2.0 initiative where pluggable transports are planned to do this change - but just changing it for 1.0 and breaking existing workflows is no option IMHO - perhaps @pedrouid has some ideas here.