【发布时间】:2020-06-19 12:40:29
【问题描述】:
这是我一直在处理的一个问题。我的临时解决方案是在我的 Contracts 目录中创建一个 SafeMath.sol 文件并直接从那里导入它。但是,我一直在寻找一个“更清晰的解决方案”......旧方式似乎是直接从 GitHub 链接导入它,如在一些 repos 和其他堆栈溢出帖子中所见,如 such
但是,这样做的正确方法似乎是安装相应的 oz 包 (@openzeppelin/contracts-ethereum-package) 并将文件直接导入所需的合约,即
import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol";
但是,使用 VSCode,我仍然收到错误 Source "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol" not found: File import callback not supported
也就是说,我怎样才能正确导入 SafeMath?
编辑:我正在使用pragma solidity ^0.6.0;
【问题讨论】:
-
我通过 npm 安装 lib
@openzeppelin/contracts并通过import "@openzeppelin/contracts/math/SafeMath.sol";将 lib 导入我的合同 -
实施没问题。我认为您这里有不同的问题,请检查其他
node_modules是否被 VSCode 识别并首先调试该问题。 -
在最近的 Solidity 更新中,整数类型变量不能再溢出了。阅读有关以下内容的更多信息:docs.soliditylang.org/en/v0.8.3/080-breaking-changes.html
-
solc-js 是愚蠢的,因为我一直在试图找出一种方法来提供该死的路径 2 小时
标签: solidity openzeppelin