eth_getLogs - Optimism

Returns an array of all logs matching a given filter object. For more information about eth_getLogs check out our Deep Dive into eth_getLogs page.

NOTE: You can make eth_getLogs requests with up to a 2K block range and a 150MB limit on the response size.

If you absolutely need to query larger block ranges, please contact us over discord or at [email protected]. We can open access to larger block ranges based on your use case.

If you need to pull logs frequently, we recommend using WebSockets to push new logs to you when they are available.

Parameters

Object - The filter options:

  • fromBlock: QUANTITY|TAG - (optional, default: "latest") Value:
    • Integer block number.
    • "latest" for the last mined block.
    • "pending", "earliest" for not yet mined transactions.
  • toBlock: QUANTITY|TAG - (optional, default: "latest") Value:
    • Integer block number.
    • "latest" for the last mined block
    • "pending", "earliest" for not yet mined transactions.
  • address: DATA|Array, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.
  • topics: Array of DATA, - (optional) Array of 32 Bytes DATA topics.
    Topics are order-dependent. Each topic can also be an array of DATA with "or" options.
    Check out more details on how to format topics in eth_newFilter.
  • 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 hash blockHash. If blockHash is present in the filter criteria, then neither fromBlock nor toBlock are allowed.
params: [
	{
		address: "0xb59f67a8bff5d8cd03f6ac17265c550ed8f33907",
		topics: [
			"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
		],
		blockHash:
			"0x8243343df08b9751f5ca0c5f8c9c0460d8a9b6351066fae0acbd4d3e776de8bb",
	},
];

Returns

See eth_getFilterChanges


Example

Request

curl https://opt-mainnet.unifra.io/v1/your-api-key \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"address": "0xb59f67a8bff5d8cd03f6ac17265c550ed8f33907","topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],"blockHash": "0x8243343df08b9751f5ca0c5f8c9c0460d8a9b6351066fae0acbd4d3e776de8bb"}],"id":0}'
URL: https://opt-mainnet.unifra.io/v1/your-api-key
RequestType: POST
Body:
{
    "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
		}
	]
}
Language
Click Try It! to start a request and see the response here!