Installation & Initialization
Ensure you're using version 6.96.0 or later. Integrate OKX Connect into your DApp via npm:
import { OKXUniversalProvider } from '@okx/web3-connect'Required Parameters
dappMetaData(object):name(string): Your application name (non-unique identifier)icon(string): URL to 180x180px PNG/ICO icon (SVG not supported)
Returns OKXUniversalProvider instance
👉 Get started with Tron Web3 integration
Wallet Connection
Establish wallet connections to obtain addresses for transaction signing.
Connection Parameters
{
namespaces: {
'tron': {
chains: ['tron:mainnet'],
methods: ['signTransaction'],
events: ['accountsChanged']
}
},
sessionConfig: {
redirect: 'tg://resolve' // For Telegram Mini Apps
}
}Response
topic: Session IDaccounts: Connected wallet addressesmethods: Supported TRON methods
Transaction Preparation
Create provider instance:
const provider = new OKXTronProvider(universalProvider);Account Management
Request
chainId: 'tron:mainnet'
Response
{
"address": "TXXXXXXXXXXXXXXXXX"
}Message Signing
Sign V1
const signature = await provider.signMessage('Hello TRON');Sign V2 (Chain-specific)
const signatureV2 = await provider.signMessageV2(
'Secure message',
'tron:mainnet'
);Transaction Processing
1. Sign Only
const signedTx = await provider.signTransaction({
rawData: { ... },
visible: false
});2. Sign & Broadcast
const txHash = await provider.signAndSendTransaction(
builder.transactionBuilder,
'tron:mainnet'
);Disconnection
Terminate active sessions:
provider.disconnect();Event Handling
Subscribe to wallet events:
provider.on('accountsChanged', (accounts) => {
console.log('New addresses:', accounts);
});Error Reference
| Code | Description |
|---|---|
| 4001 | User rejected request |
| 4100 | Unauthorized chain |
| 4200 | Unsupported method |
| 5000 | Connection failure |
👉 Troubleshoot common wallet issues
FAQ
What's the minimum SDK version required?
Version 6.96.0 or newer is mandatory for TRON integration.
Can I use SVG logos for my dApp?
No, you must provide PNG/ICO icons at 180x180px resolution.
How do I handle user rejections?
Implement fallback logic when receiving error code 4001.
Is testnet supported?
Yes, specify 'tron:nile' as chainId for testnet operations.
What transaction formats are accepted?
Use TronWeb.transactionBuilder-generated transaction objects.
How long do sessions persist?
Until explicit disconnect() call or wallet-side termination.