Generating encrypted Bitshares BEET deeplinks for Bitshares blockchain operations

in #bitshares2 years ago (edited)

Deeplink protocols!

Welcome to another Bitshares Beet development blog post!

We'll be covering and demonstrating the use of Electron protocol links in the Bitshares Beet multiwallet & 3rd party apps.

What are deeplinks?

They're links formatted like: beet://api?chain=BTS_TEST&request=encrypted_request

When you click one in a 3rd party application, your operating system will look for the application registered to the protocol titled beet; the Beet client will thus be brought into view, the request will be evaluated and if valid the user will be shown a Bitshares prompt.

Why are these useful?

Users around the world have radically different computer environments from one another; such an environmental issue arose rendering the primary beet application communication means (socketio) useless.

Now, 3rd party applications can simply construct hyperlinks within web components to prompt the Beet client to sign & broadcast blockchain operations.

Such 3rd party apps which solely utilize this deeplink communications route will have significantly lower package dependency burdens, further optimizing access to the Bitshares blockchain in developing nations where internet speeds are low.

How do you use these deeplinks?

The user must first navigate to the TOTP (timed-one-time passcode) page in Beet, where they configure their tolerated blockchain operation scope and TOTP code settings before generating a code and proceeding to interact with the 3rd party app.

The 3rd party app will have constructed the transaction in advance, and is awaiting the user providing the totp code to generate a valid totp code.

The app will then encrypt their transaction, prompt the user with the deeplink button component, and the beet multiwallet will then prompt the user with the constructed transaction once the user clicks the deeplink.

Do you have working examples of Bitshares deeplinks?

A new MIT licensed github repository has been created, demonstrating deeplink construction for all non virtual Bitshares operations!

https://github.com/BTS-CM/beet-deeplinks

Don't forget to hit the ⭐ button on the repo page :D

Demo time

Enough of the sales pitch, check it out in action!

totp.gif


What do you think? Interested in using Bitshares Beet deeplinks?

These Bitshares related developments were funded by the Bitshares committee & implemented by the nftea.gallery