【问题标题】:Multiple imports of same file in Solidity files在 Solidity 文件中多次导入同一文件
【发布时间】:2018-01-16 09:41:41
【问题描述】:

我正在创建一个使用 open-zeppelin 智能合约的众筹合约,我使用的文件是基础 Crowdsale.solCappedCrowdsale.sol 扩展名. 因此,这两个文件都在导入 SafeMath 库:import '../math/SafeMath.sol';.

问题是:为什么导入基础 Crowdsale.sol 也不会导入库?或者我应该删除第二个导入,因为它只适用于您只想要 de CappedCrowdsale.sol 文件的情况?

谢谢!

【问题讨论】:

    标签: ethereum solidity smartcontracts openzeppelyn


    【解决方案1】:

    您应该能够在不增加编译字节码大小的情况下保留两个导入语句。请参阅 Solidity 文档中的以下内容:

    Layout of a Solidity File

    import "filename";
    
    This statement imports all global symbols from “filename” (and symbols 
    imported there) into the current global scope (different than in ES6 but 
    backwards-compatible for Solidity).
    

    编译器正在将 SafeMath.sol 文件中的符号加载到全局范围内。如果有两个导入命令,它们不会加倍。将被相同的符号覆盖(不会导致文件大小增加或重复的导入语句将被忽略)。老实说,我不确定两者中的哪一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多