Solidity
繼承和合約創建
如果我將一個合約模組化為兩個合約,並使用單體方法繼承其中一個,那麼兩個合約的部署成本會更大,還是與單體方法的成本相同?
咱們試試吧。
單片
pragma solidity ^0.5.0; contract A { function doIt() public { } function doOther(uint value5) public { } }
39293氣
遺產
pragma solidity ^0.5.0; contract A2 { function doIt() public { } } contract B2 is A2 { function doOther(uint value5) public { } }
部署合約 B2 時的 39293 gas。
這是因為實際上編譯器會在編譯合約之前將它們展平。因此,在這兩種情況下,最終結果實際上看起來都像契約
A
。