Closed ukaiyuan closed 5 months ago
我在TP上用这段代码成功的进行了bsc测试链usdt转账 但这需要用户私钥 也不会拉起TP转账界面 姿势不对吗
// bsc测试链usdt转账
let web3 = new Web3(new Web3.providers.HttpProvider(window.tokenpocket.ethereum.rpc.rpcUrl));
let usdtContractAddress = '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd';
let usdtContract = new web3.eth.Contract(usdtAbi, usdtContractAddress);
let toAddress = '0xb7DB2cb5296A4246Bf46d8646AB50915E5796559';
let privateKey = '';
const data = usdtContract.methods.transfer(toAddress, '10000000000000000').encodeABI();
const txCount = await web3.eth.getTransactionCount(this.address);
const gasPrice = await web3.eth.getGasPrice();
const gasLimit = 50000;
const txObj = {
from: this.address,
to: usdtContractAddress,
data: data,
gas: gasLimit,
gasPrice: gasPrice,
nonce: txCount,
};
const signedTx = await web3.eth.accounts.signTransaction(txObj, privateKey);
const receipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction);
console.log(`Transaction hash:${receipt.transactionHash}`);
成功拉起TP钱包了
let myWeb3 = new Web3(window.web3.currentProvider);
let usdtContractAddress = '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd';
let usdtContract = new web3.eth.Contract(usdtAbi, usdtContractAddress);
let toAddress = '0xb7DB2cb5296A4246Bf46d8646AB50915E5796559';
const data = usdtContract.methods.transfer(toAddress, '10000000000000000').encodeABI();
// const txCount = await myWeb3.eth.getTransactionCount(this.address);
// const gasPrice = await myWeb3.eth.getGasPrice();
// const gasLimit = 50000;
const txObj = {
from: this.address,
to: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd',
data: data,
// gas: gasLimit,
// gasPrice: gasPrice,
// nonce: txCount,
};
await myWeb3.eth.sendTransaction(txObj);
支持的, 你可以先了解下 web3.js 或者 ethers.js