@tronweb3/walletconnect-tron
v3.0.0
Published
@tronweb3/walletconnect-tron helps DApp to connect with WalletConnect TRON Chain.
Downloads
6,818
Readme
@tronweb3/walletconnect-tron
@tronweb3/walletconnect-tron helps DApp to connect with WalletConnect TRON Chain.
Get Started
Installation
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
Create WalletConnect Wallet
Request Parameters
| 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;
}
Example
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'
]
}
});
Connect to the Wallet
Use wallet.connect()
to connect. If the Dapp has connected before, it will connect directly, or else display the WalletConnect qrcode.
Response
Return the Wallet address if connected.
Example
const { address } = await wallet.connect();
DisConnect to the Wallet
Use wallet.disconnect() to disconnect
Example
try {
await wallet.disconnect();
} catch (error) {
console.log('disconnect:' + error);
}
Sign Transaction
Sign a provided transaction object
Request Parameters
| Argument | Description | Type | | ---------- | ---------------- | ------ | | transation | Tron Transaction | object |
Example
try {
const signature = await wallet.signTransaction(transaction);
} catch (error) {
console.log('signTransaction:' + error);
}
Sign Message
Sign a String Message
Request Parameters
| Argument | Description | Type | | -------- | ----------- | ------ | | message | message | string |
Example
try {
const signature = await wallet.signMessage('hello world');
} catch (error) {
console.log('signTransaction:' + error);
}
Check Connect Status
Check the Connect Status
Response
Return the address, if it is not connected, the address is empty.
Example
const { address } = await wallet.checkConnectStatus();
Note
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
License
MIT