Solidity

繼承和合約創建

  • August 5, 2019

如果我將一個合約模組化為兩個合約,並使用單體方法繼承其中一個,那麼兩個合約的部署成本會更大,還是與單體方法的成本相同?

咱們試試吧。

單片

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

引用自:https://ethereum.stackexchange.com/questions/73601