A transaction is not created as the call is never propagated across the network. All persistent data held by the smart contract is copied before the call is made.
Only this copy is altered by the call and the actual data is unaffected. Even if an amount of funds are specified to send with the call, no funds are in fact sent.
The purpose of this function is to query and test methods.
An object containing the necessary parameters to build the transaction.
The address of the smart contract containing the method.
The name of the method to call.
The amount of STRAT (or sidechain coin) to send to the smart contract address.
No funds are actually sent, but the Amount field allows certain scenarios, where the funds sent dictates the result, to be checked.
The gas price to use. This is used to calculate the expected expenditure if the method is run by a miner mining a call transaction rather than locally.
The maximum amount of gas that can be spent executing this transaction.
Although the gas expenditure is theoretical rather than actual, this limit cannot be exceeded even when the method is run locally.
A wallet address containing the funds to cover transaction fees, gas, and any funds specified in the Amount field.
Note that because the method call is local no funds are spent. However, the concept of the sender address is still valid and may need to be checked.
For example, some methods, such as a withdrawal method on an escrow smart contract, should only be executed by the deployer, and in this case, it is the Sender address that identifies the deployer.
An array of encoded strings containing the parameters (and their type) to pass to the smart contract method when it is called.
More information on the format of a parameter string is available here.
Returns call response