Solidity

為什麼我會收到錯誤“Contract Token”和“Ethswap”token contract is not deploy to detected network error

  • May 15, 2021
I deployed my contract sent my decentralized application to Github pages.

(GH.pages)這裡是查看它的連結,如果你想查看應用程序,你點擊“確定”幾次,它會說錯誤未部署到檢測到的網路,在這裡https://nmlm99.github。 io/new-dapp/我已經驗證了它,甚至確保它首先在測試網中工作,甚至在 ropsten、kovan rinkeby而且我能夠交換它和所有,我因為害怕浪費乙太坊而忽略了啟動“ethswap”合約,我只是想知道我做錯了什麼,有人可以看看這裡是“摩爾”的合約地址",我的契約程式碼。我已經嘗試了所有的測試網。甚至在主網上嘗試過,我可以將令牌發送到另一個授予的地址,費用是 30 美元,這是毫無意義的混音並在 MAIN-NET 上通過完美匹配進行驗證。

` ‘0xd3798b9db4e8850fe6090a7b9fa0bd41d0e3d21f’ 是我的代幣合約地址。任何幫助都會很棒。此外,當我在 remix 中部署“ethswap”合約時,它會在我啟動之前在底部的“_token 地址”中詢問,這會是我的“MOORE”合約地址嗎?它是空靈之一嗎? 這是我的主要“MOORE Token 合約地址”

啟動 ethswap 一,我相信它會工作,但你檢查過你的松露配置文件嗎?

這是一個常見錯誤,您在使用 truffle 部署時沒有連結您的合約。通常在標準的非松露部署中。您需要將依賴合約的程式碼複製到與主合約相同的文件中。然後部署該合約。

使用 truffle,您可以使用部署 js 配置中的連結,以便在部署時隱式導入依賴合約程式碼,而在開發時將其分開。

migrations/2_deploy_contract.js您可以使用如下連結方法。

module.exports = function(deployer, networks, accounts) {
 deployer.deploy(tokenONe, accounts[0], 200000).then((tokenOneDeployed)=>{
   deployer.link(tokenONe,tokenTWO);
   return deployer.deploy(tokenTWO)
 });
};

從評論中,您的部署程式碼應如下所示:

const Token = artifacts.require("Token");
const EthSwap = artifacts.require("EthSwap");
module.exports = async function (deployer) {
   await deployer.deploy(Token);
   const token = await Token.deployed()
   deployer.link(token,EthSwap);
   await deployer.deploy(EthSwap, token.address);
   const ethSwap = await EthSwap.deployed()
   await token.transfer(ethSwap.address, '100000000000000')
};

引用自:https://ethereum.stackexchange.com/questions/98854