Получение новой ошибки 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. Попытка написать этот материал без асинхронного ожидания - ужасная ИМО.