首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Web3.php发送USDT

如何使用Web3.php发送USDT
EN

Ethereum用户
提问于 2021-09-24 08:59:46
回答 1查看 1.8K关注 0票数 2

我试图使用ERC20地址发送USDT。但做不到。请指导我如何做..Here是步骤1:使用Web3 3\ contract;$contractAddress = 'ERC-20合同部署地址‘$contract =新合同(’http://localhost:8545‘,$abi);$contractInstance =$contract>at($contractAddress);

第2步:

代码语言:javascript
复制
$amount = 100, $receiver = 'Receiver addresss'

第3步:

代码语言:javascript
复制
$contractInstance->call(transfer, [$amount, $receiver], $callback);
EN

回答 1

Ethereum用户

发布于 2021-09-24 16:02:46

我很高兴能帮助你,因为我几天前就解决了这个问题。

代码语言:javascript
复制
const sendERC20Transaction = async (receiver, amount) => {
    var Tx     = require('ethereumjs-tx')
    const Web3 = require('web3')
    const web3 = new Web3('https://mainnet.infura.io/v3/your-project-id')
    web3.eth.accounts.wallet.add('privateKey of fromwallet');
    var contractAbi =[];
    var tokenAddress = '0xdAC17F958D2ee523a2206206994597C13D831ec7'//Tether token(USDT)
    var fromAddress = '0x3df...'
    var tokenInst = new web3.eth.Contract(contractAbi,tokenAddress);
    tokenInst.methods.transfer(receiver, amounts).send({from: fromAddress, gas: 100000},function (error, result){ //get callback from function which is your transaction key
        if(!error){
            console.log(result);
            handleSuccessTrue();
        } else{
            console.log(error);
            web3.eth.getBalance(fromAddress, (err,bal) => { alert('Your account has ' + web3.utils.fromWei(bal, 'ether') + ', Insufficient funds for gas * price + value on your wallet')});
            handleSuccessFalse();
        }
    });
//Finally, you can check if usdt tranaction success through this code.
tokenInst.methods.balanceOf(receiver).call().then(console.log)
.catch(console.error);

祝您今天愉快!

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/110485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档