eth_newFilter
Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.
A note on specifying topic filters: 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 proposed block, “safe” for the latest safe block, “finalized” for the latest finalized block, or “pending”, “earliest” for transactions not yet in a block.toBlock:QUANTITY|TAG- (optional, default: “latest”) Integer block number, or “latest” for the last proposed block, “safe” for the latest safe block, “finalized” for the latest finalized block, or “pending”, “earliest” for transactions not yet in a block.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.params:
QUANTITY - A filter id.
Example
eth_newBlockFilter
Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.
Parameters
None
Returns
QUANTITY - A filter id.
Example
eth_newPendingTransactionFilter
Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.
Parameters
None
Returns
QUANTITY - A filter id.
Example
eth_uninstallFilter
Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additionally Filters timeout when they aren’t requested with eth_getFilterChanges for a period of time.
Parameters
*QUANTITY - The filter id.
params:["0xb", // 11]
eth_getFilterChanges
Polling method for a filter, which returns an array of logs which occurred since last poll.
Parameters
QUANTITY- the filter id.params:["0x16", // 22]
- 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- 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 zero or more 32 Bytes non-indexed arguments of the log.topics: [Array] ofDATA- Array of 0 to 4 32 Bytes DATA 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 declared the event with the anonymous specifier.)
eth_getFilterLogs
Returns an array of all logs matching filter with given id.
Parameters
QUANTITY- The filter id.params:["0x16", // 22]
eth_getFilterChanges.
Example
eth_getFilterChanges.
eth_getLogs
Returns an array of all logs matching a given filter object.
Parameters
Object - The filter options:
-
fromBlock:QUANTITY|TAG- (optional, default: “latest”) Integer block number, or “latest” for the last proposed block, “safe” for the latest safe block, “finalized” for the latest finalized block, or “pending”, “earliest” for transactions not yet in a block. -
toBlock:QUANTITY|TAG- (optional, default: “latest”) Integer block number, or “latest” for the last proposed block, “safe” for the latest safe block, “finalized” for the latest finalized block, or “pending”, “earliest” for transactions not yet in a block. -
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, future) With the addition of EIP-234, blockHash will be 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:
eth_getFilterChanges.
Example
eth_getFilterChanges.