@tronweb3/walletconnect-tron helps DApp to connect with WalletConnect TRON Chain.
you can install @tronweb3/walletconnect-tron
by npm/yarn/pnpm
:
npm i @tronweb3/walletconnect-tron
// or
yarn add @tronweb3/walletconnect-tron
// or
pnpm install @tronweb3/walletconnect-tron
Argument | Description | Type |
---|---|---|
network | The Chain (Mainnet, Shasta, Nile) | string |
options | The options Info of the wallet | object |
web3ModalConfig | The options for WalletConnectModal | WalletConnectModalConfig |
interface WalletConnectWalletAdapterConfig {
network: WalletConnectChainID;
options: SignClientTypes.Options;
/**
* Config for WalletConnectModal constructor.
* Detailed documentation can be found in WalletConnect page: https://docs.walletconnect.com/advanced/walletconnectmodal/options.
* - `projectId` will be ignored and will be set with `options.projectId`.
*/
web3ModalConfig?: WalletConnectWeb3ModalConfig;
}
import { WalletConnectWallet, WalletConnectChainID } from '@tronweb3/walletconnect-tron';
const wallet = new WalletConnectWallet({
network: WalletConnectChainID.Mainnet,
options: {
relayUrl: 'wss://relay.walletconnect.com',
projectId: '....',
metadata: {
name: 'Your dapp name',
description: 'Your dapp description',
url: 'your dapp url',
icons: ['your dapp icon']
}
},
web3ModalConfig: {
themeMode: 'dark',
themeVariables: {
'--wcm-z-index': 1000
},
/**
* Recommended Wallets are fetched from WalletConnect explore api:
* https://walletconnect.com/explorer?type=wallet&version=2.
* You can copy these ids from the page.
*/
explorerRecommendedWalletIds: [
'225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f',
'1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369',
'4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0'
]
}
});
Use wallet.connect()
to connect. If the Dapp has connected before, it will connect directly, or else display the WalletConnect qrcode.
Return the Wallet address if connected.
const { address } = await wallet.connect();
Use wallet.disconnect() to disconnect
try {
await wallet.disconnect();
} catch (error) {
console.log('disconnect:' + error);
}
Sign a provided transaction object
Argument | Description | Type |
---|---|---|
transation | Tron Transaction | object |
try {
const signature = await wallet.signTransaction(transaction);
} catch (error) {
console.log('signTransaction:' + error);
}
Sign a String Message
Argument | Description | Type |
---|---|---|
message | message | string |
try {
const signature = await wallet.signMessage('hello world');
} catch (error) {
console.log('signTransaction:' + error);
}
Check the Connect Status
Return the address, if it is not connected, the address is empty.
const { address } = await wallet.checkConnectStatus();
The connection is based on the relayUrl service, sometimes there will be some network error. The Dapp developer should handle the network error, connection error or timeout error.
All the Error Message and Error Code please refer to the WalletConnect Error:
https://github.com/WalletConnect/walletconnect-monorepo/blob/v2.0/packages/utils/src/errors.ts
MIT