[Transaction] eth_call
Executes a new message call immediately, without creating a transaction on the block chain. The eth_call method can be used to query internal contract state, to execute validations coded into a contract or even to test what the effect of a transaction would be without running it live.
JSONRPC: eth_call
Request
- application/json
Body
Array [
- IntegerBlockNumber
- HexadecimalBlockNumber
- BlockTag
]
params
undefined[]
EthCallObject
object
The transaction call object. See the next table for the object's properties.
(optional) Address the transaction is simulated to have been sent from. The 0x00..0 address is used if no address is specified.
(optional) Address the transaction is sent to.
(optional) Maximum gas allowance for the code execution to avoid infinite loops. Defaults to 2^63 or whatever value the node operator specified via --rpc.gascap.
(optional) Number of peb to simulate paying for each unit of gas during execution. Defaults to 0 peb.
(optional) Amount of peb to simulate sending along with the transaction. Defaults to 0.
(optional) Hash of the method signature and encoded parameter. It replaces data field, but 'data` field is still supported for backward compatibility.
BlockNumberOrTag
object
oneOf
the block number with type integer
number
the block number with type hexadecimal
string
the block tag [latest, pending, earliest]
string
StateOverrideSet
object
The state override set is an optional address-to-state mapping, where each entry specifies some state to be ephemerally overridden prior to executing the call.
(optional) Fake balance to set for the account before executing the call.
(optional) Fake nonce to set for the account before executing the call.
(optional) Fake EVM bytecode to inject into the account before executing the call.
(optional) Fake key-value mapping to override all slots in the account storage before executing the call.
(optional) Fake key-value mapping to override individual slots in the account storage before executing the call.
Responses
- 200
The returned data of the call
- application/json
- Schema
- Example (from schema)
Schema
error
object
A Number that indicates the error type that occurred. This MUST be an integer.
code | message | description |
---|---|---|
-32700 | Parse error | invalid JSON was received by the server. An error occurred on the server while parsing the JSON text. |
-32602 | Invalid params | Invalid method parameter(s). |
A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.
A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.).
{
"jsonrpc": "2.0",
"id": 0,
"error": {
"code": -32700,
"message": "Parse error",
"data": "string"
},
"result": "0x0000000000000000000000000000000000000000000000000000000000000000"
}