【问题标题】:How to send ERC20 token using web3 library如何使用 web3 库发送 ERC20 令牌
【发布时间】:2019-12-01 05:23:32
【问题描述】:

我想在我的加密钱包中实现发送ERC20令牌功能,这是我在互联网上找到的功能,如下所示。

 sendToken()
  {
    let toAddress = "0x5077174D79d9491AF15Dcf7D1496638D6062A011";
    this.tokenContractInstance.transfer(toAddress,123, (error, result) => {
      if (error == null) {
        console.log(result)

      } else {
        console.log('Transfer error' + error)
      }
    })
  }

不幸的是,错误消息对我来说没有运气

“无效消息”

我可以知道为什么失败吗?此外,我还看到了其他示例,通过使用 privateKey 签名函数生成 rawTransaction 来发送 ERC20 令牌。我应该采用哪种方法?

【问题讨论】:

    标签: solidity web3 web3js erc20


    【解决方案1】:

    假设web3 1.0这是正确的方法:

    this.tokenContractInstance.methods.transfer(toAddress, 123).send({from: txSenderAddress}, (error, transactionHash) => { ... });

    【讨论】:

    • 我使用上面的方法,我得到一个错误信息(“无效地址”)
    • @ferit- 我将 this.tokenContractInstance.methods.transfer 改为 this.tokenContractInstance.transfer。第一种方法对我不起作用,它说找不到传递函数。
    • @ferit- 为什么上面的代码显示为 methods.transfer?不是直接来自合约实例的传递函数吗?也许,在这里值得一提的是,我使用的是 web3 版本 0.19.1。
    • 我只是想知道,发件人地址不是原始 ERC20 所有者帐户。该地址是原所有者的第二个转账账户,在这种情况下,我想知道我是否需要得到所有者的批准才能使用代币或转账?
    • 感谢您的建议和您宝贵的时间
    猜你喜欢
    • 2018-06-19
    • 2018-10-01
    • 2023-03-31
    • 2018-11-18
    • 2022-06-14
    • 2018-06-17
    • 2021-10-08
    • 1970-01-01
    • 2022-01-09
    相关资源
    最近更新 更多