getData() no funciona

Quiero llamar a una función del contrato, algo como esto:

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

Pero estoy enfrentando el error.

token.methods.transfer.getData no es una función

¿Cómo lo resuelvo, getData() está en desuso o hay alguna otra forma de obtener los datos de la función con los argumentos deseados?

versión web3 - 1.0 beta

Gracias

Respuestas (2)

Para web3 1.0 beta, debe usar encodeABI, de la documentación:

myContract.methods.myMethod(123).encodeABI();

para web3 1.2.1 (nueva versión) debe usarlo como:

    contract_interfact.methods.methodName().call({from:"address"},(err,res) => {
       ...
})


    contract_interfact.methods.methodName(arguments).send({from:"address"},(err,res) => {
        ...
})