Solidity

getData() 不工作

  • August 14, 2019

我想呼叫合約的一個函式,像這樣 -

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

但我面臨錯誤

token.methods.transfer.getData 不是函式

我該如何解決它,是否不推薦使用 getData() 或者它們是否有任何其他方式來獲取具有所需參數的函式數據?

web3 版本 - 1.0 測試版

謝謝

對於 web3 1.0 beta,您應該使用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) => {
       ...
})

引用自:https://ethereum.stackexchange.com/questions/26234