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
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) => {
...
})