pragma solidity ^0.4.15;
import './ERC20.sol';
import './SafeMath.sol';
如何从外部(非本地)资源连接 SafeMath.sol ?
答案 0 :(得分: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
答案 1 :(得分:2)
詹姆斯'答案是有效的,我不建议从在线存储库链接你的合同的依赖关系,这是非常不安全的,因为你的代码依赖于一些可以动态更新的在线资源,因为你可能会得到不稳定的版本。
我强烈建议您按照Zeppelin's recommended way使用OpenZeppelin合同,只允许使用稳定版本并轻松更新依赖项以获取最新功能和错误修复:
npm init -y
npm install -E zeppelin-solidity
然后在你的合同中:
import 'zeppelin-solidity/contracts/math/SafeMath.sol';
contract MyContract {
using SafeMath for uint;
...
}