2.0.0 • Published 12 months ago

@tronweb3/walletconnect-tron v2.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

@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

ArgumentDescriptionType
networkThe Chain (Mainnet, Shasta, Nile)string
optionsThe options Info of the walletobject
web3ModalConfigThe options for Web3Modalobject
interface WalletConnectWalletAdapterConfig {
  network: WalletConnectChainID;
  options: SignClientTypes.Options;
  /**
   * Config for web3Modal constructor.
   * Detailed documentation can be found in WalletConnect page: https://docs.walletconnect.com/2.0/web3modal/options.
   * - `walletConnectVersion` will be ignored and will be set to 2.
   * - `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: {
      '--w3m-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

ArgumentDescriptionType
transationTron Transactionobject

Example

try {
  const signature = await wallet.signTransaction(transaction);
} catch (error) {
  console.log('signTransaction:' + error);
}

Sign Message

Sign a String Message

Request Parameters

ArgumentDescriptionType
messagemessagestring

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