bitshares / beet

Beet is a stand-alone key/identity-manager and signing app for BitShares, heavily influenced by Scatter.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Electron based URI / Deeplinks as alternative to websocket communications

grctest opened this issue · comments

commented

Is your feature request related to a problem? Please describe.
Bidirectional communications between the wallet and 3rd party apps are impeded by some users environmental factors like ISP.

Ideally since we are operating locally we should be able to interact with the Beet wallet directly through URI / deep links.

Describe the solution you'd like
Rather than connect, link, broadcast, with 6 back/forth comms over websocket, the user could have a dumb broadcast-only (like UDP) interface which the user is able to interact with the Beet wallet through URI / deep link button clicks.

The user may have to copy/paste the initial identity response into the 3rd party app to store the linked account, as opposed to this occurring through socketio communications.

The 3rd party app could subscribe to the bitshares network to see the end result (if broadcast was successful), rather than get a response that it was.


The user would do the copy/paste identity setup, then could broadcast prompts to the beet wallet one way without needing a direct response from the client.

Describe alternatives you've considered
Find some alternative solution for #166

Not implement URI/Deeplinks.

Additional context

Potential for reducing attack vectors.

Potentially easier to implement as browser extension in the future.

https://www.electronjs.org/docs/latest/api/protocol

https://www.electronjs.org/docs/latest/tutorial/launch-app-from-url-in-another-app

We'd use something like beet://.............. and it'd be as easy as constructing an appropriate hyperlink for the user's blockchain use case.

commented

With #219 merged, this is implemented in the develop branch!