eth_getLogs

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.

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.

  • blockHash: DATA, 32 Bytes - (optional) With the addition of EIP-234, 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.

params: [
  {
    "address": "0xb59f67a8bff5d8cd03f6ac17265c550ed8f33907",
    "topics": [
      "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
    ],
    "blockHash": "0x8243343df08b9751f5ca0c5f8c9c0460d8a9b6351066fae0acbd4d3e776de8bb"
  }
]

Returns

Array - Array of log objects, or an empty array if nothing has changed since last poll.

Request

const { ethers } = require("ethers");
async function main() {
 
    // Initialize an ethers instance
    const provider = new ethers.providers.JsonRpcProvider("1DLT-IP-ADDRESS");

	// Query the blockchain (replace example parameters)
    	const logs = await provider.getLogs({
		"address": "0xb59f6",
		"topics": ["0xddf252"],
		"blockHash": "0x8243343d"
	  }); 
    
	// Print the output to console
	console.log(logs);
   }


main()

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
    }
  ]
}

Last updated