I've seen some contracts like here (e.g. in line 332), use "sendTransaction" when they call contract's function. Cannot we call a function without using "sendTransaction"? As I've been calling functions without using it (on testrpc and private chain) and it works fine.
Question 1: Do we have to use "sendTransaction" when we call a contract function?
Question 2: When should we use "sendTransaction"?
contract.method(params)
is equivalente tocontract.method.sendTransaction(params)
. And for a constant functioncontract.method(params)
is equivalente tocontract.method.callparams)
. I remember some version failed to recognize properly a function as constant so I've to forcecontract.method.call(params)
.