发送令牌 bep20 web

Posted

技术标签:

【中文标题】发送令牌 bep20 web【英文标题】:Sending a token via bep20 shows the wrong token on Metamask 【发布时间】:2022-01-02 00:41:32 【问题描述】:

当它去转移时,它在元掩码中显示错误的令牌

(async ()=>
    const contract = new web3.eth.Contract(ABI, contractAddress);
    const transfer = await contract.methods.transfer(reciever, 1);
    const data = await transfer.encodeABI();
    if(window.ethereum.chainId == '0x61')
        ethereum
        .request(
        method: 'eth_sendTransaction',
        params: [
            
                from: ethereum.selectedAddress,
                to: reciever,
                gasPrice: '1000000',
                gas: '',
                data: data, 
        
            ,
        ],
        )
        .then((txHash) => console.log(txHash))
        .catch((error) => console.error);
     else 
        ethereum.request( method: 'wallet_switchEthereumChain', params:[chainId: '0x61'])
    
)()

应该显示令牌,但显示方式不同,

请帮忙

【问题讨论】:

【参考方案1】:

转账代币时,交易需要由合约地址处理(而非代币接收方)。请注意,合约接收者作为transfer() 函数的第一个参数传递。

解决方案:在 sn-p 的 params 部分将 to: reciever 替换为 to: contractAddress

【讨论】:

Muito abrigada, ajudou mto.

以上是关于发送令牌 bep20 web的主要内容,如果未能解决你的问题,请参考以下文章

返回错误:BEP-20 代币交易中的交易价格过低

Metamask BSC bep20 令牌的 web3 JS 支付按钮

传输 BEP20 令牌时发件人无效

使用 web3 发送 ERC20 令牌

如何使用 web3 库发送 ERC20 令牌

无法使用 web3.js 发送 ERC20 令牌