首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kovan合同订立气体限制行为

Kovan合同订立气体限制行为
EN

Ethereum用户
提问于 2019-10-17 15:50:06
回答 1查看 390关注 0票数 0

我有一个相当大的合同,我必须创建在科万网络进行测试。当我试图创建上述合同时,会发生相当奇怪的行为。

行为是:每当事务消耗限制超过6`000`000气体时,事务就会失败,而不会出现气体错误(尽管指定了10`000`000气体限制(这是块气体限制)。

现在,我的联系理论规模大约是680万-70万当创建时限制。

下面是一些示例事务:当我去掉代码中的一些函数(与初始化无关):https://kovan.etherscan.io/tx/0x0d903408120c352876879d833ecfec01f7f4b8b3a17967b6f4920b4d30c9253b时,这个示例事务成功了。

这一次失败(原始交易大小为58`236/2字节),这意味着大约582.36万限制+一些EVM指定的天然气成本(合同创建等)。其结果超过600万:https://kovan.etherscan.io/tx/0xc8a1a2d4c3c010801cd769b0325c4bf1c8dcb2bc47f76505f91dface7cb62050

问题:

  • 正如您在这两种情况下所看到的,在这两种情况下,仍有大量的空间用于新事务,是否存在某种我不知道的限制?
  • 关于如何解决这个问题,有什么建议吗?
  • 这个行为链/节点是特定的吗?

还没有在任何其他链上测试过这个。

我知道,从所有标准来看,这是一个很大的合同,但将其分成更多的分包合同将增加每个事务的运营成本+增加逻辑复杂性(确保只允许参与者访问特定的公共方法)。最重要的是,它已经成为一系列相互关联的合同的一部分。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2019-10-17 18:01:39

https://eips.ethereum.org/EIPS/eip-170以来,Ethereum对智能契约运行时的硬编码限制为24 K字节。

这个限值不同于块体气体极限。

注意:编译返回一个由构造函数和运行时组成的字节码,只有最后一部分必须在24 is的限制内。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/76784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档