You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Hardhat合约遇HH700错误:HelloWorld合约工件未找到求助

解决Hardhat部署时HH700: Artifact for contract "HelloWorld" not found错误

以下是针对性的解决步骤:

  • 检查合约文件的位置与命名一致性
    确保HelloWorld.sol合约文件放在Hardhat默认的contracts/根目录下,同时合约代码内的合约名称必须和调用getContractFactory时传入的名称完全匹配(包括大小写)。示例合约结构:

    // contracts/HelloWorld.sol
    contract HelloWorld {
        // 合约逻辑代码
    }
    
  • 重新编译合约
    执行npx hardhat compile命令完成合约编译,确保生成对应的artifact文件(存放在artifacts/contracts/HelloWorld.sol/目录下)。如果之前编译有残留问题,先删除项目根目录下的artifacts/和cache/文件夹,再重新执行编译命令。

  • 修正deploy.js中的合约引用
    调用getContractFactory时传入的是合约名称,不是合约文件名,不要加.sol后缀。正确写法如下:

    async function main() {
        const HelloWorld = await ethers.getContractFactory("HelloWorld");
        const hello_world = await HelloWorld.deploy("Hello World!");
        console.log("Contract deployed to address:", hello_world.address);
    }
    
  • 检查Hardhat配置文件
    打开hardhat.config.js,确认没有自定义修改合约源文件路径。如果配置了paths.sources字段,需确保合约文件存放在对应的目录下,示例:

    module.exports = {
        paths: {
            sources: "./custom-contracts" // 合约需放在这个自定义目录下
        }
    };
    

内容的提问来源于stack exchange,提问作者maxine.09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 03:15:40