получить данные() не работает

Я хочу вызвать функцию контракта, что-то вроде этого -

module.exports.transfer = function(to,value,){ 
   return token.methods.transfer.getData(to, value);
}

Но я сталкиваюсь с ошибкой

token.methods.transfer.getData не является функцией

Как мне решить эту проблему, является ли getData() устаревшим или есть другой способ получить данные функции с нужными аргументами?

версия web3 - 1.0 бета

Спасибо

Ответы (2)

Для бета-версии 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) => {
        ...
})