我有一个用方法名称为getValues()的合同。"这可以正常工作并使用'contractcat.getValues(function(错误,结果){...})'此语法也可以正常工作。我在调用合同方法的两种方法之间没有任何区别。帮助我对那些语法有所了解。
请参阅Web3J文档:
-
contractCAt.getValues.call()
是在本地运行的,不会在区块链上更改合同的状态。不消耗任何以太。 -
contractCAt.getValues.sendTransaction()
确实改变了状态(假设交易已成功开采)。 -
contractCAt.getValues()
根据方法定义自动将上述两个委托。常数和纯函数将使用call()
,而其余的将使用sendTransaction()
。