Active Account
- Beacon
- Taquito
Live Editor
import { DAppClient } from "@airgap/beacon-sdk";const dAppClient = new DAppClient({ name: "Beacon Docs" });const activeAccount = await dAppClient.getActiveAccount();if (activeAccount) {// User already has account connected, everything is ready// You can now do an operation request, sign request, or send another permission request to switch walletconsole.log("Already connected:", activeAccount.address);return activeAccount;} else {const permissions = await dAppClient.requestPermissions();console.log("New connection:", permissions.address);return permissions;}
Loading...
Live Editor
import { TezosToolkit } from "@taquito/taquito";import { BeaconWallet } from "@taquito/beacon-wallet";const Tezos = new TezosToolkit("https://mainnet-tezos.giganode.io");const wallet = new BeaconWallet({ name: "Beacon Docs Taquito" });Tezos.setWalletProvider(wallet);const activeAccount = await wallet.client.getActiveAccount();if (activeAccount) {// User already has account connected, everything is ready// You can now do an operation request, sign request, or send another permission request to switch walletconsole.log("Already connected:", activeAccount.address);return activeAccount;} else {const permissions = await wallet.client.requestPermissions();console.log("New connection:", permissions.address);return permissions;}
Loading...
If you want to add reactivity to your dApp when an active account changes, then you have to subscribe to
BeaconEvent.ACTIVE_ACCOUNT_SET
.
- Beacon
- Taquito
Live Editor
import { BeaconEvent, DAppClient } from "@airgap/beacon-sdk";const dAppClient = new DAppClient({ name: "Beacon Docs" });// Listen for all the active account changesdAppClient.subscribeToEvent(BeaconEvent.ACTIVE_ACCOUNT_SET, async (account) => {// An active account has been set, update the dApp UIconsole.log(`${BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `, account);});try {console.log("Requesting permissions...");const permissions = await dAppClient.requestPermissions();console.log("Got permissions:", permissions.address);} catch (error) {console.error("Got error:", error.message);}
Loading...
Live Editor
import { TezosToolkit } from "@taquito/taquito";import { BeaconWallet } from "@taquito/beacon-wallet";import { BeaconEvent } from "@airgap/beacon-sdk";const Tezos = new TezosToolkit("https://mainnet-tezos.giganode.io");const wallet = new BeaconWallet({ name: "Beacon Docs Taquito" });Tezos.setWalletProvider(wallet);wallet.client.subscribeToEvent(BeaconEvent.ACTIVE_ACCOUNT_SET, (account) => {// An active account has been setconsole.log(`${BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `, account);});try {console.log("Requesting permissions...");const permissions = await wallet.client.requestPermissions();console.log("Got permissions:", permissions.address);} catch (error) {console.error("Got error:", error.message);}
Loading...