【问题标题】:File not found when trying to deploy a smart contract with Hardhat尝试使用 Hardhat 部署智能合约时找不到文件
【发布时间】:2021-12-15 02:35:01
【问题描述】:

我一直在研究 this 项目,并试图将智能合约部署到 Roptsten 测试网络,并通过 Infura 连接。

尝试通过 Infura.io 将 ArbitrageFlashLoaner SC 部署到 Ropsten 时出现以下错误。 安全帽 v2.7.1。

HardhatError:HH404:文件@openzeppelin/contracts/math/SafeMath.sol,从contracts/UniswapV2Library.sol导入,未找到。

所以我知道它无法从contracts/UniswapV2Library.sol 中找到@openzeppelin/contracts/math/SafeMath.sol,但我看到SafeMath.solnode_modules 的相对路径中:

UniswapV2Library.sol 是一个包含 .json 的文件夹:

还有UniswapV2Library.json的内容:

{
  "_format": "hh-sol-artifact-1",
  "contractName": "UniswapV2Library",
  "sourceName": "contracts/UniswapV2Library.sol",
  "abi": [],
.
.
.

我在运行npx hardhat... 时遇到了路径问题。堆栈跟踪并没有真正帮助我。有没有办法通过某种 IDE 运行它或监视变量以查看它在运行时使用的所有文件中的实际路径和变量(逐步执行该过程),或者它在哪里寻找?

【问题讨论】:

    标签: npx hardhat uniswap


    【解决方案1】:

    @openzeppelin/contracts/math/SafeMath.sol 是 2021 年 2 月 22 日仓库结构重组之前 SafeMath.sol 合约的路径

    (您可以在此处查看详细信息github.com/OpenZeppelin

    现在新路径是@openzeppelin/contracts/utils/math/SafeMath.sol

    因此,如果我没记错的话,您可以在合同中更改库导入的路径,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2022-12-24
      • 1970-01-01
      • 2022-11-11
      • 2022-11-24
      • 1970-01-01
      • 2021-10-09
      • 2022-08-05
      • 2021-11-15
      • 2022-12-06
      相关资源
      最近更新 更多