解决truffle的“Could not find artifacts for import_path from any sources“问题

    在truffle进行migrate合约迁移时,有时报"Could not find artifacts for " + import_path + " from any sources"",如图(1)所示:


图(1) 报ZhouWuToken找不到的错误

    实际上,它是因为 找不到合约文件而报错。我们接下来看第三句: "Error: Could not find artifacts for ZhouWuToken from any sources"这一行,告诉我们找不到ZhouWuToken这个合约文件。 需要修改如下三个地方:
    1)项目路径/contracts下,要有ZhouWuToken.sol文件,如图(2)所示:

图(2) 将合约文件名称改成全称,不能用简写

    2)项目路径/migrations/2_deploy_contracts.js,里修改如下:
//项目路径/migrations/2_deploy_contracts.js

const ZhouWuToken = artifacts.require("ZhouWuToken");

module.exports = function(deployer) {
    
    
  deployer.deploy(ZhouWuToken);
};

    迁移合约的*.js里,全都改成Token的全称,如图(3)所示:


图(3)迁移合约的.js里,要全部改成Token的全称

    3)合约本身ZhouWuToken.sol文件里,其合约函数要以Token的全称命名,即contract ZhouWuToken,如图(4)所示:


图(4) 合约的函数名,要用Token的全称

猜你喜欢

转载自blog.csdn.net/sanqima/article/details/109150618