Skip to content
This repository was archived by the owner on Dec 13, 2021. It is now read-only.
This repository was archived by the owner on Dec 13, 2021. It is now read-only.

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

@abhriyaroy

Description

@abhriyaroy

Problem

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

  • Low-end devices, like most Android devices in India
  • Devices with low-batteries
  • On sleep mode devices

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:

  • Optimized for low-end devices and sleep mode
  • Single socket connection per client
  • Library/SDKs are available in different languages out of the box (no need to create the same custom socket implementation in each language). Less code, fewer bugs (in theory)
  • Message caching when devices are offline when QoS=2. No need to write custom queueing for each device at bridge side
  • Production ready

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions