[FAQ] Smart Contract: xxx has not been deployed to detected network (network/artifact mismatch)
在前端用 web3 与 contract 交互时,需要获取到已部署的 contract 实例进行操作,如果没有获取到就会报此错。
比如如下的 .deployed() 阶段:
/* 伪代码 */ const contractJson = contract(pokerJson) contractJson.setProvider(this.$web3Provider) // 获取合约实例 this.contractInstance = await contractJson.deployed()
这种情况首选需要做的就是把合约部署到本地开发环境上。
如果使用 truffle 就比较简单了,就是运行 `truffle migrate` 部署一下。
如果是在测试阶段报此类错,那么有可能是写错合约名等原因,导致没有部署成功。
Refer:智能合约网络错误