Different ways to invoke contract method

空扰寡人 提交于 2019-12-09 03:56:08

问题


I have one contract with method name as getValues().From Dapp I am invoking contract method as 'contractCAt.getValues.call(function(error,result){...})' this works fine and by using 'contractCAt.getValues(function(error,result){...})' this syntax also works fine.I didn't get any difference between those two ways to invoke contract method.So could anyone help me to give idea about those syntax.


回答1:


See the web3j documentation:

  • contractCAt.getValues.call() is run locally and will not alter the state of your contract on the blockchain. Does not consume any ether.
  • contractCAt.getValues.sendTransaction() does alter the state (assuming the transaction is successfully mined).
  • contractCAt.getValues() automatically delegates to one of the two above based on the method definition. Constant and pure functions will use call() while the rest will use sendTransaction().


来源:https://stackoverflow.com/questions/47920110/different-ways-to-invoke-contract-method

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!