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 objectfrom
: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 transactiondata
: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 theblockHash
(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://eth-mainnet.blastapi.io/<project-id> \
-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"
}