Truffle
為什麼找不到任何來源的契約工件
我正在使用帶有 truffle 和 ganache-cli 的 Windows 10。我有 2 個要部署的契約文件包含契約中定義的其他契約的介面:
契約:
ERC721Mintable.sol
- 可擁有
- 可暫停是可擁有的
- ERC165
- ERC721 可暫停,ERC165
- ERC721Enumerable 是 ERC165、ERC721
- ERC721MetaData 是 ERC721Enumerable,使用 Oraclize
- CraveuERC721Token 是 ERC721MetaData
驗證者.sol
SolnSquareVerifier.sol
pragma solidity >=0.4.21 <0.6.0; import "./ERC721Mintable.sol"; import "./Verifier.sol"; contract SolnSqaureVerifier is CraveuERC721Token { SquareVerifier squareVerifier; constructor(address verifierAddress) public { squareVerifier = SquareVerifier(verifierAddress); }
這是我的 deploy_contracts.js:
const SquareVerifier = artifacts.require("Verifier"); const SolnSquareVerifier = artifacts.require("SolnSquareVerifier"); module.exports = function(deployer) { deployer.deploy(SquareVerifier).then( () => { return deployer.deploy(SolnSquareVerifier, SquareVerifier.address); }); };
我正在使用 truffle 版本 5.0.18
產生的錯誤:錯誤:錯誤:無法從任何來源找到 SolnSquareVerifier 的工件
工件的名稱是根據契約的名稱定義的,而不是文件的名稱。
通常,最佳做法是使兩個名稱相同。
但是,在您的情況下,似乎:
SolnSquareVerifier
是文件名SolnSqaureVerifier
是契約的名稱請注意,
a
andu
以不同的順序出現在每個名稱中。