eth_newFilter
Last updated
Last updated
Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call .
NOTE: We enforce a limit of 10,000 block ranges when requesting logs and events. The 10,000 block range limit is not a limit on how far back in time you can query but rather a limit on the number of blocks you can query in a single request. To work around the limit, we recommend breaking down your queries into smaller chunks of 10,000 blocks or less.
NOTE: 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)"
Object
- The filter options:
fromBlock
: QUANTITY|TAG
- (optional, default: "latest"
) Integer block number, or "latest"
for the last mined block or "pending"
, "earliest"
for not yet mined transactions.
toBlock
: QUANTITY|TAG
- (optional, default: "latest"
) Integer block number, or "latest"
for the last mined block or "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.
QUANTITY
- A filter id.
NOTE: In this example we are using public Ethereum endpoint. Ideally, for your own projects, you should use your own endpoint, which you can generate for free by connecting to your wallet .
NOTE: ethers
used below is a well-known web3 library, check it out .