Truffle
使用 truffle 控制台 –network kovan 時,契約尚未部署到檢測到的網路(網路/工件不匹配)
我試圖從部署到 kovan 網路的契約中呼叫一個函式,然後當我使用 truffle 控制台 –network kovan 並嘗試部署我的契約時,它說該契約尚未部署到檢測到的網路,但它已經部署甚至在我的 web3 應用程序中使用它。
truffle(kovan)> const daiToken = await DaiToken.deployed() Uncaught: Error: DaiToken has not been deployed to detected network (network/artifact mismatch)
我在 etherscan kovan 上的契約:https ://kovan.etherscan.io/address/0x478A24D4CcbFedE653D6aeE3DC202663e4ba2Be0
truffle-config.js 中的網路配置:
kovan: { provider: () => new HDWalletProvider(MNEMONIC, endpointUrl), network_id: 42, gas: 5500000, confirmations: 2, timeoutBlocks: 200, networkCheckTimeoutnetworkCheckTimeout: 10000, skipDryRun: true }
如果令牌已經部署。
await DaiToken.at(ADDRESS_HERE);
在您的程式碼中使用。在ADDRESS_HERE
kovan 上用 DaiToken 部署到的合約地址替換它的位置。例如在我的程式碼中:
const Router = artifacts.require('uniswapv2/UniswapV2Router02.sol'); ... const router = await Router.at('0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D'); // Kovan Uniswap V2 Router
這將獲得
Router
部署在該地址的實例