如何缩减合约以规避合约大小限制_FIL:NTR

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

本文永久链接:learnblockchain.cn/article…

为什么合约有一个大小限制?

为什么

在2016年11月22日,SpuriousDragon硬分叉引入了EIP-170,增加了智能合约的大小限制为24.576kb。对于作为Solidity开发者的你来说,这意味着当你向你的合约添加越来越多的功能时,在某些时候你会达到限制,当部署时你会看到错误:

Warning:Contractcodesizeexceeds24576bytes(alimitintroducedinSpuriousDragon).Thiscontractmaynotbedeployableonmainnet.Considerenablingtheoptimizer(withalow"runs"value!),turningoffrevertstrings,orusinglibraries.

币情观察室 | 如何从小白蜕变成合格的交易者:4月2日11:00,金色盘面邀请行情大V李明成做客金色财经《币情观察室》直播间,将分享《如何从小白蜕变成合格的交易者》,敬请关注,扫描下图二维码即可观看。[2020/4/2]

警告:合约代码大小超过24576字节,这个合约可能无法在主网上部署。考虑启用优化器,关闭revert字符串,或使用库。

引入这一限制是为了防止拒绝服务攻击。任何对合约的调用从Gas上来说都是相对便宜的。然而,由于调用的合约代码的大小的原因,合约调用对以太坊节点的影响并不是成比例地增加。每当你出现这样的情况,攻击者只需要很少的资源就能给别人造成大量的工作,这会增加DOS攻击的可能性。

在美国众议院听证会乔治城大学法学教授表示:监管的重点应该在于数字代币如何被对待:在美国众议院金融服务委员会《检查加密货币和ICO市场》的听证会上,乔治城大学法学教授Chris Brummer博士表示,ICO将会成为区块链行业的主要融资方式,但监管的重点应该在于数字代币如何被对待,以及系统如何被监管。他还表示,许多ICO欺诈非常明显,需要监管机构介入,更新法律法规,并且提供ICO白皮书指导。[2018/3/14]

最初,这不是一个问题,因为一个合约大小限制是区块块Gas限制。很明显,一个合约需要被部署在一个交易中,这个交易持有合约的所有字节码。如果你把大合约的部署交易纳入一个区块,你可以用完所有的Gas。但这种情况下的问题是,区块Gas限制随时间变化,理论上是无限制的。在EIP-170的时候,区块Gas的限制只有470万。现在,区块Gas限制是1500万。

雕爷:区块链将如何改变世界:在币圈近期比较火的陈伟星和朱啸虎的口水战中,雕爷被一些人当成了“导火索”。雕爷对此作出了回应,他对于区块链的态度十分中立,同时他也承认,自己在2014年就拥有比特币。雕爷在自己的公众号中阐明了自己的看法:区块链可以传递原本无法分割的价值,区块链创造价值必须依附于已经能够真实创造价值且可以被验证的商业场景。雕爷还称,现在有大量资金涌入区块链行业,一年后则会留下一些认真办事的人。所以现在是投身区块链行业的好时机,一年后也是。[2018/2/25]

那就战斗吧

不幸的是,没有简单的方法来获得你的合约的字节码大小,如果你使用Truffle,一个很好的工具可以帮助你,那就是truffle-contract-size插件。

npminstalltruffle-contract-size。

在_truffle-config.js_中添加该插件:插件。。

运行truffleruncontract-size。

这将帮助你弄清楚怎么的变化及如何影响总的合约打下规模。

在下文中,我们将根据其潜在的影响来研究一些方法。从缩减角度来考虑。对于一个人来说,要达到他们的目标体重,最好的策略是首先关注影响大的方法。在大多数情况下,仅仅固定你的饮食就能达到目标,但有时你需要更多一点。如可能会增加一些运动或甚至补充剂。

体重减轻

需要重点关注

把你的合约分开

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/10196364.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

巨鲸的资金涌向哪里,哪里就是热点!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-3:654ms