繁体   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