【问题标题】:i am getting the error in truffle but in online compiler(remix)there is not showing any error in this keyword and selfdestruct function我在松露中遇到错误,但在在线编译器(混音)中,此关键字和 selfdestruct 函数中没有显示任何错误
【发布时间】:2020-10-02 19:48:47
【问题描述】:

TypeError:函数调用中的参数类型无效。从合约 spsTokenSale 到请求地址的隐式转换无效。 要求(tokenContract.balanceOf(this)>= _numberOfTokens);

函数调用中的参数类型无效。请求的从地址到应付地址的隐式转换无效。 自毁(管理员);

【问题讨论】:

    标签: blockchain ethereum solidity truffle cryptocurrency


    【解决方案1】:

    您需要提供代码以便更好地理解。可能是您尚未声明地址“应付”,这就是为什么您面临“从地址到地址的隐式转换请求的地址无效”问题。

    在最新版本的 Solidity 中,如果要接收/转移以太币,您还必须将地址声明为应付。

    如果问题出在 truffle 而不是 remix 中,您可以检查 truffle box 中的solidity 版本。因为它很可能是版本不匹配的问题。

    【讨论】:

      【解决方案2】:

      我在另一个论坛上看到了这个问题的解决方案。编译器要求你显式声明令牌地址的类型。

      不要使用tokenContract.balanceOf(this),而是将其更改为tokenContract.balanceOf(address(this))

      更多详情请参考此链接 - https://ethereum.stackexchange.com/questions/64868/typeerror-invalid-type-for-argument-in-function-call-invalid-implicit-conversi/64869

      【讨论】:

        【解决方案3】:

        如果您使用的是solidity 版本> 7,那么您的语法不正确。如果您想访问您的合约地址并使用,请使用address(this) selfdestruct(payable(admin)); 如果你想销毁你的智能合约。

        require(tokenContract.balanceOf(address(this))>= _numberOfTokens);
        selfdestruct(payable(admin));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-04-24
          • 1970-01-01
          • 2020-04-19
          • 2021-11-13
          • 1970-01-01
          • 1970-01-01
          • 2013-05-03
          相关资源
          最近更新 更多