Tesseract Android provides Java/Kotlin APIs for Tesseract, a dApp-Wallet bridge designed to make dApp/wallet communication on mobile devices simple and natural without compromising decentralization and security
If you are looking for Tesseract docs for another language/OS, please, consider one of the following:
Tesseract provides two sets of APIs, one for a dApp that wants to connect to the wallets and one for the wallets that want to serve the dApps.
Here is how a typical Tesseract workflow looks like:
dApp | Wallet |
---|---|
//initialize Tesseract
val tesseract = Tesseract.default(this.application)
//indicate what blockchain are we gonna use
val testService = tesseract.service(SubstrateService::class)
//at this point Tesseract connects to the
//wallet and the wallet presents the user
//with its screen, asking if the user
//wants to share their public key to a dApp
//all such calls are asynchronous
val account = substrateService.getAccount(AccountType.Sr25519) |
//Inside the Wallet Tesseract serves requests
//from the dApps as long as the reference is kept alive
//save it somewhere in the Application instance
val tesseract = Tesseract
.default() //start with default configuration
.service(MySubstrateService())
//MySubstrateService instance methods
//will be called when a dApp asks for something |
Because using Tesseract in a dApp and in a wallet is very different by nature (essentially communicating as a client and a service), the detailed documentation is split into two documents:
If you'd like to see examples of Tesseract integration, please, check:
- dev-wallet.kotlin - for wallets
- polkachat.kotlin - for dApps
Just in case, you'd like to use Tesseract on android via Rust APIs. It's also possible. Consider checking one of the following:
- v0.1 - IPC transport for Android - connect dApp/Wallet on the same device
- v0.2 - demo dApp and Wallet
- v0.3 - Susbtrate protocol support
- v0.4 - dev-wallet.kotlin test implementation
- v0.5 - first Kotlin libraries release version
- v1.0 - support of everything mobile dApps need
Tesseract.android can be used, distributed and modified under the Apache 2.0 license.