未捕获(承诺中)错误:返回的值无效,是否用完了? (在本地工作,但不在Ropsten上工作)

时间:2019-10-30 05:04:50

标签: javascript ethereum web3 web3js

从我的一个固态智能合约中调用仅视图功能时,web3js出现错误。奇怪的是,它可以在本地测试网上运行(通过Ganache运行),但是当我将合同部署到ropsten测试网络时,fall功能会失败,并出现以下错误:

Uncaught (in promise) Error: Returned values aren't valid, did it run Out of Gas?
    at i.decodeParameters (web3.min.js:22508)
    at l.o._decodeMethodReturn (web3.min.js:29647)
    at A.outputFormatter (web3.min.js:29766)
    at A.formatOutput (web3.min.js:16439)
    at u (web3.min.js:16615)
    at web3.min.js:17813
    at inpage.js:1
    at inpage.js:1
    at i (inpage.js:1)
    at inpage.js:1
    at inpage.js:1
    at c (inpage.js:1)
    at inpage.js:1
    at We (inpage.js:1)
    at Object.<anonymous> (inpage.js:1)
    at e.exports._runReturnHandlersUp (inpage.js:1)
    at inpage.js:1
    at n (inpage.js:1)
    at i (inpage.js:1)
    at inpage.js:1
    at inpage.js:1
    at n (inpage.js:1)
    at i (inpage.js:1)
    at inpage.js:1
    at inpage.js:1
    at inpage.js:1
    at inpage.js:1
    at c (inpage.js:1)
    at u (inpage.js:1)
    at inpage.js:1
    at inpage.js:1
    at a (inpage.js:1)

在此声明之后,我还遇到另一个错误:

Denying load of chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/sourcemaps/inpage.js.map. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.

可能有关联,也可能没有关联。

导致错误的我的前端代码是:

for (var i = 0; i < userDetails[0]; i++) {
            console.log(i)
            var contractAddress = await trsContract.methods.getUserContract(i).call()
            console.log(contractAddress)
            contractAddresses.push(contractAddress)
        }

我正在使用以下依赖项

    "@material-ui/core": "^4.5.2",
    "material-ui": "^0.20.2",
    "react": "^16.11.0",
    "react-dom": "^16.11.0",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.2.0",
    "react-spinners": "^0.6.1",
    "validator": "^12.0.0",
    "web3": "^1.2.2"

1 个答案:

答案 0 :(得分:0)

您是否使用正确的合同地址启动trsContract?

如果您设置了错误的地址,它将返回一个错误。