Connecting to wallets
dApps must connect to user wallets to view the tokens in the account and to submit transactions on behalf of the wallet's owner.
The primary tools that dApps use to connect to wallets are:
-
Beacon: A JavaScript/TypeScript SDK for connecting to wallets, signing transactions, and sending information about this connection between connected apps
Beacon supports many Tezos wallets seamlessly, including TZIP-10 and WalletConnect2.0 wallets, so you don't have to write different code for each wallet that you want to support. Beacon also implements the TZIP-10 proposal, which describes an interaction standard between wallets and dApps. By using this standard, a dApp that uses Beacon can send messages over a peer-to-peer communication layer to a wallet, such as allowing a user to connect with an app on one platform, such as by scanning a QR code on a mobile app, and then use the dApp with the connected wallet on another platform, such as a desktop browser.
Beacon can remember the connections that have been established and the accounts that have connected to the app. It also includes default UI elements for connecting wallets and showing the status of a transaction.
For more information about Beacon, see https://www.walletbeacon.io.
-
Taquito: A JavaScript/TypeScript SDK for sending transactions
Taquito provides a wrapper for Beacon so dApps can interact with wallets and with Tezos with the same code.
For more information about Taquito, see Taquito.