首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >契约代码大小(以及如何绕过它?)

契约代码大小(以及如何绕过它?)
EN

Ethereum用户
提问于 2018-03-02 21:43:34
回答 2查看 4.6K关注 0票数 6

我正在编写一些相当可靠的智能契约,并且相信我达到了EIP170 24k字节码大小的限制。我已经

(a)将我的代码考虑到库中

(b)今天我的合同分成两部分。

似乎没有什么能帮助我们突破极限。见鬼,分裂成两个合同--大大增加了--两个合同中一个的代码--比原来的全合一合同要大得多。

有什么工具可以帮助找出代码膨胀的来源吗?为了缩小规模而进行拆分的其他方法?

EN

回答 2

Ethereum用户

发布于 2018-03-03 06:00:20

很可能字节码膨胀来自于代码中的新语句。它们通常是麻烦制造者,因为它们包含要实例化的契约代码。您可以创建合同工厂,您可以部署在前面。这样,您可以减少主契约的字节码大小。

例如。

代码语言:javascript
复制
contract X {}

contract XFactory {
    function createX() returns (X) {
        return new X();
    }
}

contract Main {
    XFactory xFactory;
    ...
    Main(XFactory _xFactory) {
        xFactory = _xFactory;
    }
    ...
    function someMethod() {
        X x = xFactory.create();
    }
    ...
}
票数 3
EN

Ethereum用户

发布于 2018-10-31 23:07:19

通过实施透明合同标准:https://github.com/ethereum/EIPs/issues/1538,可以绕过最大合同大小限制。

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

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

复制
相关文章

相似问题

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