eth_getLogs
Returns an array of all logs matching a given filter object.
The eth_getLogs command allows users to view events that occurred on the blockchain based on one or more of the filter objects listed below.
Limits
Requests can have a block range of at most 500 blocks.
Parameters
Object - The filter options:
fromBlock:QUANTITY|TAG- (optional, default:"latest") Value:Integer block number
Hexadecimal string block number (e.g.
"0xabcd")"latest"for the last mined block"pending"and"earliest"are not supported
toBlock:QUANTITY|TAG- (optional, default: "latest") Value:Integer block number
Hexadecimal string block number (e.g.
"0xabcd""latest"for the last mined block - only valid iffromBlockis also"latest""pending"and"earliest"are not supported
address:DATA|Array, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.topics:ArrayofDATA, - (optional) Array of 32 Bytes DATA topics.Topics are order-dependent. Each topic can also be an array of DATA with "or" options.
blockHash:DATA, 32 Bytes - (optional) With the addition of EIP-234 (Geth >= v1.8.13 or Parity >= v2.1.0), blockHash is a new filter option which restricts the logs returned to the single block with the 32-byte hash blockHash. Using blockHash is equivalent to fromBlock = toBlock = the block number with hashblockHash. If blockHash is present in the filter criteria, then neitherfromBlocknortoBlockare allowed.
Returns
Array - Array of log objects, or an empty array if nothing has changed since last poll.
For filters created with
eth_newBlockFilterthe return are block hashes (DATA, 32 Bytes), e.g.["0x3454645634534..."].For filters created with
eth_newPendingTransactionFilterthe return are transaction hashes (DATA, 32 Bytes), e.g.["0x6345343454645..."].For filters created with
eth_newFilterlogs are objects with following params:removed:TAG-truewhen the log was removed, due to a chain reorganization.falseif its a valid log.logIndex:QUANTITY- integer of the log index position in the block.nullwhen its pending log.transactionIndex:QUANTITY- integer of the transactions index position log was created from.nullwhen its pending log.transactionHash:DATA, 32 Bytes - hash of the transactions this log was created from.nullwhen its pending log.blockHash:DATA, 32 Bytes - hash of the block where this log was in.nullwhen its pending.nullwhen its pending log.blockNumber:QUANTITY- the block number where this log was in.nullwhen its pending.nullwhen its pending log.address:DATA, 20 Bytes - address from which this log originated.data:DATA- contains one or more 32 Bytes non-indexed arguments of the log.topics:Array of DATA- Array of 0 to 4 32 BytesDATAof indexed log arguments.In solidity: The first topic is the hash of the signature of the event (e.g.
Deposit(address,bytes32,uint256)), except you declare the event with theanonymousspecifier.
Topics are order-dependent. A transaction with a log with topics [A, B] will be matched by the following topic filters:
[]“anything”[A]“A in first position (and anything after)”[null, B]“anything in first position AND B in second position (and anything after)”[A, B]“A in first position AND B in second position (and anything after)”[[A, B], [A, B]]“(A OR B) in first position AND (A OR B) in second position (and anything after)”
Example Request and Result for eth_getLogs
Request
Result
Last updated