[英]Hardhat external dependencies (sol files)
我有一个包含以下导入语句的智能合约:
import "@prb/contracts/PRBMathSD59x18.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
如何让 Hard Hat 下载这些外部合约并在编译时导入它们?
我尝试将第一行更改为:
import "@prb/math/contracts/PRBMathSD59x18.sol";
正如这个答案所建议的,但没有任何成功。 可能是因为我使用的是scaffold-eth ,它建议使用$ yarn deploy
来构建合约。
我尝试手动安装它们。
$ npm install @paulrberg/prb-math@2.5.0
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@paulrberg%2fprb-math - Not found
npm ERR! 404
npm ERR! 404 '@paulrberg/prb-math@2.5.0' is not in this registry.
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/developer/.npm/_logs/2022-10-09T22_29_12_712Z-debug-0.log
我还没有设法在文档中找到如何执行此操作。
首先,我在写这篇文章时, prb
的最后一个版本是2.4.3
而不是2.5.0
,所以这是你的问题。你尝试安装的版本不存在。
所以你有 3 个依赖项,所以你需要安装它,我建议执行这个命令:
npm install prb-math
npm install @openzeppelin/contracts
npm install @chainlink/contracts
安装后,如果你的合约是正确的,你就可以编译
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.