gpt4 book ai didi

performance - Solidity 中的组合优于继承 - Gas 效率

转载 作者:行者123 更新时间:2023-12-04 04:33:01 24 4
gpt4 key购买 nike

在 OOP 语言中,组合优于继承是众所周知的最佳实践。 Solidity 也是一种 OOP 语言,但也存在 gas 效率问题。
问题是,在 Solidity 中,考虑到各自的 gas 成本,组合和继承如何相互比较?
编辑:可以在 https://ethereum.stackexchange.com/questions/59994/composition-over-inheritance-gas-efficiency 上找到更多(也许更好)的答案

最佳答案

在 1-1 比较中,组合的部署和执行成本更高。也就是说,如果您需要部署多个实例,您可以使用 Library pattern并以这种方式使用组合。

如果您要部署相同代码的多个副本,库可以降低部署成本。如果你想象部署 100 个相同代码的副本,你可能只需要部署一个库,然后你可以推送到库中的代码越多,每个依赖合约部署的成本就会越低。但是调用该库会增加执行成本。

库需要考虑的另一件事:共享库存在重大的安全问题。锁定资金的 Parity hack 是 due to usage of composition .

继承是一个简单得多的模型,而且执行起来总是更便宜。

但是,您必须根据自己的用例确定适合的内容。这个合约会有很多版本吗?如果是这样,每个实例的执行频率是否足以弥补部署成本?

关于performance - Solidity 中的组合优于继承 - Gas 效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52515714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com