部署令牌时,我收到 UnrecognizedContract。不确定问题是什么,但这里是带有deploy.js的代码
async function main () {
//Fetch contract to deploy
const Token = await ethers.getContractFactory("Token")
//Deploy Contract
const token = await Token.deploy()
await token.deployed()
console.log (`Token Deployed to: ${token.address}`)
}
main()
.then (() => process.exit (0))
.catch ((error) => {
console.error (error);
process.exit(1);
});
任何修复将不胜感激
我遇到了类似的问题,发现hardhat console.sol 的导入不起作用。请检查您的脚本是否存在导入或任何其他错误。如果智能合约被部署,那么智能合约的执行将不起作用。我主要使用hardhat框架来编译和部署智能合约
pragma solidity ^0.8.0;
import "hardhat/console. Sol";
问题
Contract deployment: <UnrecognizedContract>
修复
修复智能合约上的导入或智能合约上的任何其他错误后
创建 /src/artifacts 文件夹的备份,然后删除该文件夹。
重新编译
npx 安全帽编译
重新部署
npx 安全帽运行脚本/yourdeploymentscript.js
检查部署控制台,您应该会看到智能合约的正确输出。
Contract deployment: YourContractName
我认为您在编写脚本之前已经启动了节点
npx hardhat node
通过编写上述代码关闭节点并再次打开它。就我的情况而言,它有帮助。
const dutchAuction = await deploy("WFCoin", {
contract: "WFCoin",
from: deployer,
args: args,
log: true,
waitConfirmations: network.config.blockConfirmations || 6,});
我正在遵循教程,问题是最后一行,即
waitConfirmations: network.config.blockConfirmations || 6
删除对我有用的