我很难找出这里的错误是什么。 我们使用简单的命令行来触发安全帽任务。 我还尝试使用不同的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)
有什么想法吗?
降级到
[email protected]
为我解决了这个问题。
@nomiclabs/hardhat-ethers
给我带来了同样的问题。
要解决此问题,您需要确保使用正确版本的hardhat-ethers。
用途:
npm install --save-dev @nomicfoundation/hardhat-ethers
而不是:
npm install --save-dev @nomiclabs/hardhat-ethers