0 purchases
beacondart
beacondart #
This project implements tezos beacon (tzip-10) https://docs.walletbeacon.io/ in dart.
This is done using flutter method channels https://docs.flutter.dev/development/platform-integration/platform-channels to link the respective kotlin https://github.com/airgap-it/beacon-android-sdk and swift https://github.com/airgap-it/beacon-ios-sdk implementations to dart.
Scope #
The beacon protocol allows dapps on tezos to connect to user wallets. As such, defined in the protocol is a set of actions that the dapp can perform and those that the wallet can perform. This project focuses on the wallet part of the beacon protocol https://docs.walletbeacon.io/wallet/getting-started/web/getting-started .
Functionalites #
Since it implements only the wallet part of the beacon here is a list of functionalities;
Connect to dApp
Qrcode
Copy Paste
Deep Link
Note that the library itself does not include qrcode, deeplink, etc ... it only takes the input its given from an external lib.
For example you can use a qrcode flutter lib to get the contents of the qrcode and send those params to beacondart.
Listen for incoming messages from dApp
Permission Request/Response
SignPayload Request/Response
Operation Request/Response
Broadcast Request/Response
Note that the library communicates with dart using purely json.
Implementation #
Ultimately one dart singleton class BeaconWalletClient which handles communication with the beacon android and ios sdk using flutter method channels.
Resources
https://github.com/airgap-it/beacon-ios-sdk
https://github.com/airgap-it/beacon-android-sdk
https://docs.walletbeacon.io/wallet/getting-started/web/getting-started
https://typedocs.walletbeacon.io/
https://gitlab.com/tezos/tzip/-/tree/master/proposals/tzip-10
The beacon library on the native side needs to communicate requests from the wallets as and when it receives them. This means that the native code needs to communicate also to the dart code.
Here is a good working example of this https://github.com/flutter/plugins/tree/main/packages/quick_actions
And some enlightening article
https://testfairy.com/blog/native-communication-with-a-callback-in-flutter/
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.