公共参数:
const tokenAddress = 'TXLAQ63Xg1NAzckPwKHvzw7CSEmLMEqcdj'; // nile测试网 usdt合约地址
const tokenAddress = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'; // 主网 usdt合约地址
const addressA = "TVqJZaZ9upXPxJeYBug5NfSFP9MXeDMffU"
const addressB = "TFV5dZ6jQ72FHJzA7aRsnaQXtrX8sirN37"
const addressC = "TNZA2tzQm8eKMCEKE2rXw9JctefqY4uqnm"
// 连接tronLink钱包
const tronWeb = window.tronWeb
// 连接欧易web3钱包
if (window.okxwallet.tronLink.ready) {
window.tronWeb = okxwallet.tronLink.tronWeb;
} else {
if (
200 ===
(
await window.okxwallet.tronLink.request({
method: "tron_requestAccounts",
})
).code
) {
window.tronWeb = tronLink.tronWeb;
window.tronWeb = okxwallet.tronLink.tronWeb;
}
}
const tronWeb = window.tronWeb
1. 授权:将地址A的指定数量的u到地址B(地址B就有权限操作授权额度的u)
const contract = await tronWeb.contract().at(tokenAddress);
const amount = "1"; // 授权金额
try {
const result = await contract.approve(addressB, tronWeb.toSun(amount)).send();
console.log('Authorization Successful:', result);
alert('Authorization Successful');
} catch (error) {
console.error('Authorization Failed:', error);
alert('Authorization Failed');
}
2.转账:将地址A的u转移到地址C
const contract = await tronWeb.contract().at(tokenAddress);
const amount = "1"; // 转账金额
try {
const result = await contract.transferFrom(addressA, addressC, tronWeb.toSun(amount)).send({
from: addressB
});
console.log('Transfer Successful:', result);
alert('Transfer Successful');
} catch (error) {
console.error('Transfer Failed:', error);
alert('Transfer Failed');
}
3.TRC20转账 调用transfer
方法,从地址A转账USDT到地址C
const contract = await tronWeb.contract().at(tokenAddress);
const amount = "10"; // 转账金额
try {
const result = await contract.transfer(addressC, tronWeb.toSun(amount)).send();
console.log('Transfer Successful:', result);
alert('Transfer Successful');
} catch (error) {
console.error('Transfer Failed:', error);
alert('Transfer Failed');
}