如何使用 metamask/web3.js 发送 BUSD

How to send BUSD with metamask/web3.js

我在币安测试网中有两个币:

我可以将默认主币 (BNB) 发送到另一个帐户:

web3.eth.sendTransaction({
   from: account,
   to: '0x64123c0c6cc87a7b96c498D584Db17c6cA55eD6F',
   value: '1000000',
}, function (err, transactionHash) {
                    
});

但我不知道如何发送其他币种(USDT或BUSD)。

我也可以查看当前硬币数量,但仅限 BNB:

const balance = await this.web3.eth.getBalance(account);

当您转移代币时,您与调用其 transfer() 函数的代币合约进行交互。

代币余额也是如此 - 您可以通过查询代币合约的 balanceOf() 函数来获取用户代币余额。

这些功能在 ERC-20 标准中指定,因此每个遵循该标准的代币合约都会实现它们。

const usdtContract = new this.web3.eth.Contract(abiJson, contractAddress);

// sends a transaction from the `sender` address
// containing the `data` field specifying that you want to execute
// the `transfer()` function, passing it the `recipient` and `amount` arguments
await usdtContract.methods.transfer(recipient, amount).send({from: sender});

// performs a gas-free read-only call, invoking the `balanceOf()` function of the contract
await usdtContract.methods.balanceOf(holder).call();