在前端用 web3 與 contract 交互時,需要獲取到已部署的 contract 實例進行操作,如果沒有獲取到就會報此錯。
比如如下的 .deployed() 階段:
/* 偽代碼 */ const contractJson = contract(pokerJson) contractJson.setProvider(this.$web3Provider) // 獲取合約實例 this.contractInstance = await contractJson.deployed()
這種情況首選需要做的就是把合約部署到本地開發環境上。
如果使用 truffle 就比較簡單了,就是運行 `truffle migrate` 部署一下。
如果是在測試階段報此類錯,那么有可能是寫錯合約名等原因,導致沒有部署成功。