Hardhat TypeError:无法读取 getContractFactory 上未定义的属性(读取“JsonRpcProvider”)

问题描述 投票:0回答:2

我很难找出这里的错误是什么。 我们使用简单的命令行来触发安全帽任务。 我还尝试使用不同的syntax,但也失败了。 这是代码:

task("deploy-erc271a-contract", "Deploy ERC271A Mint NFT contract", async (taskArgs, hre) => {    
      console.log("Task[deploy-erc271a-contract] getContractFactory for MyERC271A");
      const nftERC271AFactory = await ethers.getContractFactory("MyERC271A");

      // Start deployment, returning a promise that resolves to a contract object
      console.log("Task[deploy-erc271a-contract] Contract deploying... ");

      //Contract takes: name, symbol, delegates[], receivers[], amount[]
      const nftERC271AContract = await nftERC271AFactory.deploy(taskArgs.name, taskArgs.symbol);
      await nftERC271AContract.deployed();

      console.log("Task[deploy-erc271a-contract] Contract deployed: " + nftERC271AContract.address)
      return(nftERC271AContract.address);
 });

使用此代码,我收到以下错误:

TypeError: Cannot read properties of undefined (reading 'JsonRpcProvider')
    at Object.<anonymous> (/Users/iii/dev/impulse-sk/node_modules/@nomiclabs/hardhat-ethers/src/internal/ethers-provider-wrapper.ts:4:61)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Function.Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/Users/iii/dev/impulse-sk/node_modules/@nomiclabs/hardhat-ethers/src/internal/provider-proxy.ts:7:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1310:10)

有什么想法吗?

typescript smartcontracts nft hardhat
2个回答
0
投票

降级到

[email protected]
为我解决了这个问题。


0
投票

@nomiclabs/hardhat-ethers
给我带来了同样的问题。

要解决此问题,您需要确保使用正确版本的hardhat-ethers。

用途:

npm install --save-dev @nomicfoundation/hardhat-ethers

而不是:

npm install --save-dev @nomiclabs/hardhat-ethers
© www.soinside.com 2019 - 2024. All rights reserved.