我有一份方法名称为 getValues() 的合同。从 Dapp 我将合同方法调用为 'contractCAt.getValues.call(function(error,result){...})' 这工作正常,并且使用 'contractCAt.getValues (function(error,result){...})' 这种语法也可以正常工作。我没有得到这两种调用合同方法的方法之间的任何区别。所以任何人都可以帮助我了解这些语法。
问问题
272 次
1 回答
1
请参阅web3j 文档:
contractCAt.getValues.call()
在本地运行,不会改变你在区块链上的合约状态。不消耗任何乙醚。contractCAt.getValues.sendTransaction()
确实改变了状态(假设交易被成功挖掘)。contractCAt.getValues()
根据方法定义自动委托给上述两者之一。将使用常量和纯函数call()
,而其余的将使用sendTransaction()
.
于 2017-12-21T18:19:35.260 回答