首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未承诺错误: DAI尚未部署到检测网络,网络伪影失配。

未承诺错误: DAI尚未部署到检测网络,网络伪影失配。
EN

Ethereum用户
提问于 2018-10-12 15:02:32
回答 2查看 195关注 0票数 0

我回顾了其他有类似错误的问题,但它们并没有帮助解决我的问题。

在我的主网络合同中,当我的MetaMask在主网络上时,我在处理事务时会得到这个错误。我试图向我的代管合同发送资金,而dapp只使用DAI。是说主网上没有DAI合同吗??

错误:

Uncaught in promise error: DAI has not been deployed to detected network, network artifact mismatch

下面是我的迁移部署契约js文件。我用的是松露:

代码语言:javascript
复制
const Escrow = artifacts.require("./Escrow.sol");
const DAI = artifacts.require("./DAI.sol");

const DAI_COIN_ADDRESS = "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359";

const ARBITRATOR = "0x000000000000etc...";

 module.exports = (deployer, network, accounts) => {
   console.log(accounts[0]);
   deployer.deploy(Escrow, DAI_COIN_ADDRESS, ARBITRATOR, {from: accounts[0]});
 };
EN

回答 2

Ethereum用户

回答已采纳

发布于 2018-10-13 21:09:30

在按上述程序运行truffle networks之后,我确实看到我的主网络部署没有与其关联的DAI协议。但我的其他电视台也这么做了,就像Ropsten一样。

为了解决这个问题,我更新了我的DAI.json文件的主干网DAI地址,并将网络从3改为1。由于一些奇怪的原因,生成的构建文件夹确实用正确的网络更新了dai.json,但仍然成功地部署到主网络。

票数 0
EN

Ethereum用户

发布于 2018-10-12 15:45:13

这通常是松露与部署历史(./contracts/build)和设置解释(truffle.js)之间的混淆。

确认合同是部署在主干网和松露知道它。

代码语言:javascript
复制
$ truffle networks
contract ... address

如果是这样的话(您可以清楚地看到),那么您的dapp应该使用

代码语言:javascript
复制
var contract;
Contract.deployed().then(function(instance) { contract = instance; }

如果没有,但是你知道主板上的地址,你可以用猴子锤它。

代码语言:javascript
复制
var contract = Contract.at(<address>);

实际上,从通常在./contract/build/Contract.json中有大量噪声的开发机器部署并不总是最好的主意,最好将合同转移到将运行“正式发布”迁移并生成官方抽象构建的暂存服务器上。

希望能帮上忙。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/60487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档