eth_getLogs
Returns an array of all logs matching a given filter object.
Params
- a string array containing (required):Object
- The filter options:fromBlock(string, optional)
.QUANTITY|TAG
- (optional, default:"latest"
) integer block number, or"latest"
for the last mined block or"pending"
,"earliest"
for not yet mined transactions.toBlock(string, optional)
.QUANTITY|TAG
- (optional, default:"latest"
) integer block number, or"latest"
for the last mined block or"pending"
,"earliest"
for not yet mined transactions.address(array of hex string, optional)
.DATA|Array
, 20 Bytes - (optional) contract address or a list of addresses from which logs should originate.topics(array of hex string, optional)
.Array of DATA
, - (optional) array of 32 BytesDATA
topics. Topics are order-dependent. Each topic can also be an array of DATA with “or” options.blockhash(hex string, optional)
.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 hashblockHash
. UsingblockHash
is equivalent tofromBlock
=toBlock
= the block number with hashblockHash
. IfblockHash
is present in in the filter criteria, then neitherfromBlock
nortoBlock
are allowed.
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(hex string)
, 32 Bytes), e.g.["0x3454645634534..."]
. - For filters created with
eth_newPendingTransactionFilter
the return are transaction hashes (DATA(hex string)
, 32 Bytes), e.g.["0x6345343454645..."]
. - For filters created with
eth_newFilter
logs are objects with following params:removed(boolean)
.TAG
-true
when the log was removed, due to a chain reorganization.false
if its a valid log.logIndex(hex string)
.QUANTITY
- integer of the log index position in the block.null
when its pending log.transactionIndex(hex string)
.QUANTITY
- integer of the transactions index position log was created from.null
when its pending log.transactionHash(hex string)
.DATA
, 32 Bytes - hash of the transactions this log was created from.null
when its pending log.blockHash(hex string)
.DATA
, 32 Bytes - hash of the block where this log was in.null
when its pending.null
when its pending log.blockNumber(hex string)
.QUANTITY
- the block number where this log was in.null
when its pending.null
when its pending log.address(hex string)
.DATA
, 20 Bytes - address from which this log originated.data(hex string)
.DATA
- contains one or more 32 Bytes non-indexed arguments of the log.topics(array of (hex string))
.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 declared the event with theanonymous
specifier.)
curl
TypeScript
curl https://api.blockvision.org/v1/<api key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getLogs",
"params": [
{
"topics": [
"0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"
]
}
],
"id": 1
}'
import { BlockVisionProvider, BvNetwork } from 'blockvision.js'
// Optional parameters, but default to eth-mainnet and default api-key.
const bv = new BlockVisionProvider(BvNetwork.ARB_MAINNET)
// Access standard Ethers.js JSON-RPC node request
bv.getLogs({}).then(console.log)
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"logIndex": "0x1",
// 1
"blockNumber": "0x1b4",
// 436
"blockHash": "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d",
"transactionHash": "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf",
"transactionIndex": "0x0",
// 0
"address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d",
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
"topics": [
"0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"
]
},
{
...
}
]
}
Last modified 1mo ago