当我试图通过松露框架(Version4.1.14)在Rinkeby上部署智能契约(它是一个600+线智能契约)时,当我使用remix部署相同的合同并使用金属掩码时,它显示了上面的error.But,然后成功地部署了它。我知道,32 is的代码大小限制在attack.So实现中,以避免DOS attack.So,如果有人能够回答为什么合同是用混合而不是用松露部署的话。下面是林克贝测试网https://rinkeby.etherscan.io/tx/0xe42b8fa9a7aab732a633465a84e8a56433eb482e0cb5aa49ed38f5428dfc82a4上的链接
发布于 2018-09-29 11:42:49
我猜你的优化是在混合中启动的,而不是在特松露中。这意味着在“混合”下,代码大小足够小,可以部署,但不能在“特弗莱”下部署。
您可以添加类似于:solc: { optimizer: { enabled: true, runs: 200, }, }到truffle.js来打开优化。在混合中的设置下有一个开关可以做同样的事情。
发布于 2018-10-10 05:53:05
解决此错误的方法是将更大的智能契约拆分为较小的契约,并使用继承。
https://ethereum.stackexchange.com/questions/59694
复制相似问题