Получение новой ошибки BigNumber() при вызове функции в солидности с использованием трюфеля. Как мне исправить ошибку?

Я получаю эту ошибку, когда пытаюсь вызвать функцию солидности, используя трюфель.

введите описание изображения здесь

Мой код солидности такой:

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)
    })
})

Также это решение не помогло вообще. Следовательно, я спросил отдельно.

1 ответ

Так должно быть:

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

если это функция, которая берет газ (если вы хотите отправить из метамаски).

Если это не оплачиваемая функция, которую вы используете:

simpleDemoInstance.methods.returnNumber().call()

Также используйте es6. Попытка написать этот материал без асинхронного ожидания - ужасная ИМО.

Другие вопросы по тегам