Skip to main content

[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

Body

    params

    undefined[]

  • Array [

  • EthCallObject

    object

    The transaction call object. See the next table for the object's properties.

    from 20-byte DATA

    (optional) Address the transaction is simulated to have been sent from. The 0x00..0 address is used if no address is specified.

    to 20-byte DATA

    (optional) Address the transaction is sent to.

    gas hex

    (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.

    gasPrice hex

    (optional) Number of peb to simulate paying for each unit of gas during execution. Defaults to 0 peb.

    value hex

    (optional) Amount of peb to simulate sending along with the transaction. Defaults to 0.

    input DATA

    (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

    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.

    balance int64

    (optional) Fake balance to set for the account before executing the call.

    nonce int64

    (optional) Fake nonce to set for the account before executing the call.

    code DATA

    (optional) Fake EVM bytecode to inject into the account before executing the call.

    state object

    (optional) Fake key-value mapping to override all slots in the account storage before executing the call.

    stateDiff object

    (optional) Fake key-value mapping to override individual slots in the account storage before executing the call.

  • ]

Responses

The returned data of the call

Schema

    error

    object

    code int64required

    A Number that indicates the error type that occurred. This MUST be an integer.

    codemessagedescription
    -32700Parse errorinvalid JSON was received by the server. An error occurred on the server while parsing the JSON text.
    -32602Invalid paramsInvalid method parameter(s).
    message string

    A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.

    data string

    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.).

    result string
Loading...