【问题标题】:how to solve type error in solidity Remix如何解决solidity Remix中的类型错误
【发布时间】:2019-05-03 08:33:38
【问题描述】:

我的 Solidity 智能合约正在重新混合编译,没有任何错误。 我的合约代码如下:

   pragma solidity >=0.4.0 <0.6.0;
   contract NewConreact {
     uint storedData;

     function set(uint x) public {
        storedData = x;
     }

    function get() public view returns (uint) {
        return storedData;
    }
}

它在 remix 中完美编译,但是当我运行它触发 set() 和 get() 时,我得到了:

“错误:无法解码输出:TypeError:无法读取属性 '长度'未定义"

这个错误。

我在solidity git repo 中发现了一个已解决的问题,但没有找到任何解决方案。 我也增加了gas限制,但没有用。

有人,请帮我解决问题。

【问题讨论】:

  • 我刚刚测试了它,它工作得很好。您使用的是哪个编译器版本?我使用的版本:0.5.0+commit.1d4f565a。你得到合约部署的验证了吗?

标签: blockchain ethereum solidity smartcontracts remix


【解决方案1】:

这通常在部署因未知原因而失败时发生 - 可能是您尝试使用注入的 web3 或像 Ganache-cli 之类的 web3 提供程序,但它以某种方式失败了部署,但合同界面仍附加到 UI。这可能会让您混淆合同是否正确部署。

解决方法是查看和展开交易的日志输出以部署合约。在进行交易之前确保您的合同成功。

如果您在成功部署合约后仍然无法进行交易,请提供您的日志。

【讨论】:

    【解决方案2】:

    尝试使用 Chrome,避免使用 Safari,并确保从solidity Remix 站点中删除“s”> 不起作用> https://remixhttp://remix 会。一旦我搬到 Chrome 上,它就可以工作了

    【讨论】:

      猜你喜欢
      • 2018-10-21
      • 2020-08-28
      • 1970-01-01
      • 2016-01-25
      • 2017-12-10
      • 2021-07-05
      • 2021-12-21
      • 2019-09-15
      • 1970-01-01
      相关资源
      最近更新 更多