getData() funktioniert nicht

Ich möchte eine Funktion des Vertrags aufrufen, etwa so -

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

Aber ich stehe vor dem Fehler

token.methods.transfer.getData ist keine Funktion

Wie löse ich es, ist getData() veraltet oder gibt es eine andere Möglichkeit, die Daten der Funktion mit den gewünschten Argumenten zu erhalten?

web3-Version - 1.0 Beta

Vielen Dank

Antworten (2)

Für web3 1.0 Beta sollten Sie encodeABI, aus der Dokumentation verwenden:

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

Für web3 1.2.1 (neue Version) sollten Sie es wie folgt verwenden:

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


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