Я хочу вызвать функцию контракта, что-то вроде этого -
module.exports.transfer = function(to,value,){
return token.methods.transfer.getData(to, value);
}
Но я сталкиваюсь с ошибкой
token.methods.transfer.getData не является функцией
Как мне решить эту проблему, является ли getData() устаревшим или есть другой способ получить данные функции с нужными аргументами?
версия web3 - 1.0 бета
Спасибо
Для бета-версии web3 1.0 вы должны использовать encodeABI
из документации:
myContract.methods.myMethod(123).encodeABI();
для web3 1.2.1 (новый выпуск) вы должны использовать его следующим образом:
contract_interfact.methods.methodName().call({from:"address"},(err,res) => {
...
})
contract_interfact.methods.methodName(arguments).send({from:"address"},(err,res) => {
...
})