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β
warning
Requests can have a block range of at most 500 blocks.
warning
eth_getLogs() method call is not available within the Public API.
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 iffromBlock
is 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
:Array
ofDATA
, - (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 neitherfromBlock
nortoBlock
are allowed.
params: [
{
"address": "0xb59f67a8bff5d8cd03f6ac17265c550ed8f33907",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
],
"blockHash": "0x8243343df08b9751f5ca0c5f8c9c0460d8a9b6351066fae0acbd4d3e776de8bb"
}
]
Returnsβ
Array
- Array of log objects, or an empty array if nothing has changed since last poll.
- For filters created with
eth_newBlockFilter
the return are block hashes (DATA
, 32 Bytes), e.g.["0x3454645634534..."]
. - For filters created with
eth_newPendingTransactionFilter
the return are transaction hashes (DATA
, 32 Bytes), e.g.["0x6345343454645..."]
. - For filters created with
eth_newFilter
logs are objects with following params:removed
:TAG
-true
when the log was removed, due to a chain reorganization.false
if its a valid log.logIndex
:QUANTITY
- integer of the log index position in the block.null
when its pending log.transactionIndex
:QUANTITY
- integer of the transactions index position log was created from.null
when its pending log.transactionHash
:DATA
, 32 Bytes - hash of the transactions this log was created from.null
when its pending log.blockHash
:DATA
, 32 Bytes - hash of the block where this log was in.null
when its pending.null
when its pending log.blockNumber
:QUANTITY
- the block number where this log was in.null
when its pending.null
when 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 BytesDATA
of 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 theanonymous
specifier.
- In solidity: The first topic is the hash of the signature of the event (e.g.
info
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
curl https://eth-mainnet.blastapi.io/<project-id> \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"address": "0xb59f67a8bff5d8cd03f6ac17265c550ed8f33907","topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],"blockHash": "0x8243343df08b9751f5ca0c5f8c9c0460d8a9b6351066fae0acbd4d3e776de8bb"}],"id":0}'
Result
{
"jsonrpc": "2.0",
"id": 0,
"result": [
{
"address": "0xb59f67a8bff5d8cd03f6ac17265c550ed8f33907",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x00000000000000000000000000b46c2526e227482e2ebb8f4c69e4674d262e75",
"0x00000000000000000000000054a2d42a40f51259dedd1978f6c118a0f0eff078"
],
"data": "0x000000000000000000000000000000000000000000000000000000012a05f200",
"blockNumber": "0x429d3b",
"transactionHash": "0xab059a62e22e230fe0f56d8555340a29b2e9532360368f810595453f6fdd213b",
"transactionIndex": "0xac",
"blockHash": "0x8243343df08b9751f5ca0c5f8c9c0460d8a9b6351066fae0acbd4d3e776de8bb",
"logIndex": "0x56",
"removed": false
}
]
}