[英]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.