部署Solidity合约遇HH702错误:无效工件路径问题求助
解决Hardhat部署HH702大小写敏感路径错误
每次执行合约部署脚本都会触发HH702错误,提示无效的artifact路径,正确的大小写敏感路径为E:\Block Chain Projects\SET OOD\artifacts\contracts\Mood.sol\Mood.json,原路径中错误地将Mood.sol写为MOOD.sol。
错误信息
Error HH702: Invalid artifact path E:\Block Chain Projects\SET OOD\artifacts\contracts\MOOD.sol\Mood.json, its correct case-sensitive path is E:\Block Chain Projects\SET OOD\artifacts\contracts\Mood.sol\Mood.json
deploy.js 文件代码
async function main() { const {deployers} =await ethers.getSigners(); const MOODCONTRACT = await ethers.getContractFactory('Mood'); const moodcontract =await MOODCONTRACT.deploy(); console.log("the contract is deployed"+moodcontract.address); } main().then( ()=>process.exit(0) ).catch(err => { console.log(err); process.exit(1); })
Mood.sol 合约代码
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; contract Mood { string mood; function Setmood(string memory _mood) public { mood = _mood; } function Getmood() public view returns(string memory) { return mood; } }
解决方案
- 确认合约文件名是
Mood.sol,而非大写的MOOD.sol,保持文件名大小写与artifact路径一致 - 删除项目根目录下的
artifacts和cache文件夹,清除旧编译缓存 - 重新执行
npx hardhat compile编译合约,再运行部署脚本即可解决问题
内容的提问来源于stack exchange,提问作者Abhishek Yadav
相关产品推荐
相关产品推荐

