3
pragma solidity ^0.4.15;

import './ERC20.sol';
import './SafeMath.sol';

如何从外部(非本地)资源连接SafeMath.sol

4

2 回答 2

3

虽然 James 的回答是有效的,但我不建议从在线存储库链接您的合同的依赖项,这是非常不安全的,因为您的代码依赖于一些可以动态更新的在线资源,并且您可能会获得不稳定的版本。

我强烈建议您按照Zeppelin 推荐的方式使用 OpenZeppelin 合约,允许您仅使用稳定版本并轻松更新依赖项以获得最新功能和错误修复:

npm init -y
npm install -E zeppelin-solidity

然后在你的合同中:

import 'zeppelin-solidity/contracts/math/SafeMath.sol';

contract MyContract {
  using SafeMath for uint;
  ...
}
于 2018-02-16T22:05:09.430 回答
2

这大概就是你的意思:

pragma solidity ^0.4.0;

import "github.com/OpenZeppelin/zeppelin-solidity/contracts/math/SafeMath.sol";

contract MathExtended {
    using SafeMath for uint;
    function exec(uint a, uint b) returns (uint){
        return a.add(b);
    }
}

Solidity 支持直接从 Github 导入,请记住不要在引用时包含提交或分支,它必须是 user/project/file-path/file.sol 直接。

请参阅http://solidity.readthedocs.io/en/develop/layout-of-source-files.html

于 2017-09-19T19:04:15.850 回答