簡體   English   中英

Hardhat 外部依賴項(sol 文件)

[英]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 個依賴項,所以你需要安裝它,我建議執行這個命令:

  • prb : npm install prb-math
  • openzepellinnpm install @openzeppelin/contracts
  • chainlink : npm install @chainlink/contracts

安裝后,如果你的合約是正確的,你就可以編譯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM