簡體   English   中英

通過應用程序訪問在Ropsten網絡上部署的智能合約

[英]Access a smart contract that is deployed on the Ropsten network from an App

我寫了一些智能合約,並將它們部署在本地。 我編寫了一個js文件app.js,該文件使用了這些智能合約和“做事”,並且與Ganache和Metamask一起在本地都能很好地工作。

接下來,我的同事將這些合同部署到Ropsten網絡中。

然后我以為我只需要在Metamask中切換網絡,重新啟動我的應用程序,然后一個app.js文件就可以處理我在Ropsten上部署的合同。 不幸的是,這種情況並非如此。

錯誤:瀏覽器的控制台顯示合同尚未部署到檢測到的網絡(網絡/工件不匹配)。

我以這種方式訪問​​合同:

$.getJSON('SomeCoin.json', function (data) {
            var CoinArtifact = data;
            App.contracts.Coin = TruffleContract(CoinArtifact);
            App.contracts.Coin.setProvider(App.web3Provider);
        });

這段代碼有什么問題嗎?

還是因為我的Coin.json文件不包含Ropsten的“網絡”條目而導致我自己沒有部署合同的問題?

如何正確訪問合同而不必自己重新部署合同?

您只需要使用同事部署的合同地址創建一個合同實例App.contracts.Coin.at(contract_address).then((instance) => { your logic }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM