未捕获的错误:传输令牌时地址无效

Posted

技术标签:

【中文标题】未捕获的错误:传输令牌时地址无效【英文标题】:Uncaught Error: invalid address when transferring token 【发布时间】:2021-12-16 00:34:44 【问题描述】:

当我尝试将令牌从一个地址转移到另一个地址时,会弹出标题中的错误。 这是我的相关JS代码: ($("#targetAddr").val() 是目标地址的地址(在元掩码中),$("#amt").val() 是要转移到的令牌的值。)

tokenContract.transfer($("#targetAddr").val().toString(),$("#amt").val())

我正在使用与 OpenZepplin 的 ERC20 非常相似的智能合约。它的传递类似于ERC20的传递函数。我做错了什么?

以下是我在 javascript 中设置代币合约的代码:

var tokenContractAddress = token_contract_address;
//coinABI is the ABI from my smart contract.
var tokenContract = web3.eth.contract(coinABI).at(tokenContractAddress);

输入中的地址是我的元掩码帐户中的地址之一(本质上是有效地址)

【问题讨论】:

【参考方案1】:

您需要使用 web3 或您正在使用的其他框架构建实际事务。 以下是 web3 的示例: https://ethereum.stackexchange.com/questions/24828/how-to-send-erc20-token-using-web3-api

如果您有其他版本,请访问他们的文档:https://web3js.readthedocs.io/en/v1.3.4/index.html

并查看将交易发送到合约的方法。 您需要向代币合约发送一个 tx,该合约将使用需要参数调用代币的原生 transfer() 方法。您需要签署此交易然后发送。

【讨论】:

thks 但看起来我的代码很粗心(现在一切都很好)

以上是关于未捕获的错误:传输令牌时地址无效的主要内容,如果未能解决你的问题,请参考以下文章

JQuery:未捕获的 SyntaxError:无效或意外的令牌

vue-resource:在拦截 ajax 错误时捕获“未捕获(在承诺中)”

inpage.js:1 未捕获的错误:地址无效

传输 BEP20 令牌时发件人无效

未捕获的错误:无效地址 web3.currentProvider MetaMask

获取未捕获的语法错误:意外的令牌:读取 jsonp 响应时