TP-Lab / tp-js-sdk

TokenPocket JS API for Dapp of ETH, IOST, TRON, COSMOS, SOLANA, EOS etc. (mobile only)
200 stars 61 forks source link

请问支持币安的USDT转账吗 #43

Closed ukaiyuan closed 5 months ago

chendatony31 commented 5 months ago

支持的, 你可以先了解下 web3.js 或者 ethers.js

ukaiyuan commented 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}`);
ukaiyuan commented 5 months ago

成功拉起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);