eth_call

Executes a new message call immediately without creating a transaction on the block chain.

The eth_call command is used to execute a new message call. It does not introduce a blockchain transaction.

Use cases of eth_call:

  • Querying the internal contract state

  • Executing validations coded into a smart contract

  • Testing transactions without going live

Parameters

  • Object - The transaction call object

    • from: DATA, 20 Bytes - (optional) The address the transaction is sent from.

    • to: DATA, 20 Bytes - The address the transaction is directed to.

    • gas: QUANTITY - (optional) Integer of the gas provided for the transaction execution. eth_call consumes zero gas, but this parameter may be needed by some executions.

    • gasPrice: QUANTITY - (optional) Integer of the gasPrice used for each paid gas.

    • value: QUANTITY - (optional) Integer of the value sent with this transaction

    • data: DATA - (optional) Hash of the method signature and encoded parameters. For details see Ethereum Contract ABI

  • QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending" (see the default block parameter), OR the blockHash (in accordance with EIP-1898) NOTE: the parameter is an object instead of a string and should be specified as: {"blockHash": "0x<some-hash>"}. Learn more here.

Returns

DATA - the return value of the executed contract.

Example Request and Result for eth_call

Request

curl https://rpc-mainnet.u2u.xyz \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}],"id":1}'

Result

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x"
}

Last updated