Solidity
為什麼我會收到錯誤“Contract Token”和“Ethswap”token contract is not deploy to detected network error
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') };