如何使用 web3 库发送 ERC20 令牌
Posted
技术标签:
【中文标题】如何使用 web3 库发送 ERC20 令牌【英文标题】:How to send ERC20 token using web3 library 【发布时间】: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 令牌。我应该采用哪种方法?
【问题讨论】:
【参考方案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 所有者帐户。该地址是原所有者的第二个转账账户,在这种情况下,我想知道我是否需要得到所有者的批准才能使用代币或转账? 感谢您的建议和您宝贵的时间以上是关于如何使用 web3 库发送 ERC20 令牌的主要内容,如果未能解决你的问题,请参考以下文章