使用松露调用固态函数时出现新的BigNumber()错误。我该如何修复错误?

时间:2018-02-09 17:10:06

标签: solidity smartcontracts truffle web3js distributed-apps

当我尝试使用松露调用我的可靠性函数时,我收到此错误。

enter image description here

我的可靠性代码如下:

pragma solidity ^0.4.14;

contract SimpleDemo {
    function returnNumber () public view returns (uint) {
        return 500;
    }
}

我打电话给returnNumber()的方式是:

this.state.web3.eth.getAccounts((error, accounts) => {
    simpleDemo.deployed().then((instance) => {
        simpleDemoInstance = instance
        // Below line runs with the error ...
        return simpleDemoInstance.returnNumber.call()
    }).then((result) => {
        console.log(result)
    })
})

此外,this solution根本没有帮助。因此,我单独询问。

1 个答案:

答案 0 :(得分:0)

应该是:

simpleDemoInstance.methods.returnNumber().call({ from: accounts[0] });

如果它是一个需要气体的功能(假设您想从元掩模发送)。

如果它不是您使用的应付函数:

simpleDemoInstance.methods.returnNumber().call()

也使用es6。尝试编写这些东西没有异步等待是可怕的IMO。