3

If we make an Android dapp, can't we use Android intents to sign a transaction in another Android wallet app that supports receiving data through intents? We can pass message and public key in the intent (e.g. using subxt) , and wallet makes transaction. Will there be any security issues? Though we can't connect the wallet to get the public key, we can just copy the public key from the wallet and paste it on the dapp, to get the dapp UI for the public key.

Another approach could involve creating a trusted server apps responsible for handling transactions and securely storing private keys or seeds. Authentication mechanisms can be implemented to ensure that only trusted applications on the computer can access the server API. This approach effectively separates the authentication logic from the dapp itself, similar to browser extensions wallet, and can also be utilized on desktop systems where "intents" are not available.

Here, two passwords can be utilized: one for communication between the Dapp and the server, which the Dapp can interact with, and another password for signing transactions, similar to how MetaMask or the Polkadot.js extension wallet operates, where only the server application can interact with this password.

1 Answer 1

2

Public keys (account IDs) are public; they can be shared and handed around however you like. The corresponding private keys are best kept in a wallet and never exposed. So, sharing a public key with a wallet seems sensible to me!

The usual web approach is something like:

  1. Obtain a list of account IDs (public keys) available from the wallet to show in the dApp, and then give the wallet the transaction information + account Id to sign with and the wallet does the signing, hands back signed bytes and the dApp can submit them or whatever
  2. Or, ignore account IDs (public keys) in the dApp entirely, and just hand transaction information to a wallet to be signed, and then the user picks the account ID in the wallet that they wish to use to sign the thing.

I hope that helps (I'm not familiar with the specifics of the android ecosystem/apps)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.