The Vechain DApp Kit serves as a sophisticated layer built upon @vechain/sdk-network, providing a simplified and efficient avenue for engaging with a multitude of Vechain wallets. This innovative toolkit enhances the ease of interaction, offering develope
npm install @vechain/dapp-kit@vechain/dapp-kitThe Vechain DApp Kit serves as a sophisticated layer built upon @vechain/sdk-network, providing a simplified and
efficient
avenue for engaging with a multitude of Vechain wallets. This innovative toolkit enhances the ease of interaction,
offering developers a seamless bridge to connect with diverse Vechain wallet functionalities. For more information,
please refer to the official Vechain Docs
``bash`
yarn add @vechain/dapp-kit
- Optional: Configure wallet connect options
`typescript
import type { WalletConnectOptions } from '@vechain/dapp-kit';
const walletConnectOptions: WalletConnectOptions = {
projectId: '
metadata: {
name: 'My dApp',
description: 'My dApp description',
url: window.location.origin, // Your app URL
icons: [${window.location.origin}/images/my-dapp-icon.png], // Your app Icon`
},
};
- Create a new instance of DAppKit and pass in the optionsthor
- will be ready to use to interact with the chain, but calling any methods requiring a wallet will throw an
error. See the next step to finalise the setup.
`typescript
import { DAppKit } from '@vechain/dapp-kit';
const { thor, vendor, wallet } = new DAppKit({
node: 'https://sync-testnet.vechain.org/', //Required
walletConnectOptions, //Optional
});
`
- You can set the wallet source when the user selects a wallet, or if you want to default to a specific wallet.
- Thor and the Wallet instances are ready to use
`typescript
import type { WalletSource } from '@vechain/dapp-kit';
// type WalletSource = 'wallet-connect' | 'veworld' | 'sync2' | 'sync';
const mySource: WalletSource = 'veworld';
wallet.setSource('veworld');
`
- Connect to the wallet. This will return the user's address
- verified indicates whether a certificate is signed by the user. If a sign in is required and the account is not
verified, you should request a subsequent certificate sign in
`typescript
const {account, verified} = await wallet.connect();
const tx = await thor.account("0x...123")
.method(...)
.transact()
.wallet(account)
.request();
const certRes = await vendor.sign("cert", {...})
.requset();
``