更新时间:2024-03-06 GMT+08:00

eth_getFilterLogs

简介

返回与给定过滤器 ID 匹配的所有日志的数组。该API所消耗的计算单元为500。

参数说明

参数

类型

说明

address

String

可选参数,合约地址(20字节)或日志应源自的地址列表。

fromBlock

String

可选参数,默认为“latest”,十六进制区块号,或字符串latest,earliest或pending。

toBlock

String

可选参数,默认为“latest”,十六进制区块号,或字符串latest,earliest或pending。

topics

String

可选参数,32 字节 DATA 主题数组。主题与顺序相关。

blockhash

String

可选参数,将返回的日志限制为 32 字节哈希中引用的单个块blockHash。使用blockHash相当于设置fromBlock和 toBlock中引用的区块均为blockHash所对应的区块。如果blockHash出现在过滤条件中,则fromBlock和toBlock都不能够被设置。

返回值

  • log 对象数组:与过滤器匹配的日志对象数组。对于自上次轮询以来发生的日志数组,请使用eth_getFilterChanges。日志对象包含以下键及其值:
    • address: 该日志的来源地址。
    • blockHash:该日志所在块的哈希值。当它是待处理(Pending)日志时返回NULL。
    • blockNumber:该日志所在的块号。当它是待处理(Pending)日志时返回NULL。
    • data:包含日志的非索引参数。
    • logIndex:块中日志索引位置的十六进制。当它是待处理(Pending)日志时返回NULL。
    • removed:若日志由于链重组而被删除,则返回true。如果它是有效的日志,则返回false。
    • topics:数据数组。索引日志参数的 0 到 4 个 32 字节 DATA 的数组。在 Solidity 中,第一个topic是事件签名的哈希值(例如 Deposit(address,bytes32,uint256)),除非您使用匿名说明符声明事件。
    • transactionHash: 创建此日志的事务的哈希值。当它是待处理(Pending)日志时返回NULL。
    • transactionIndex:创建此日志的事务索引位置的十六进制。当它是待处理(Pending)日志时返回NULL。

请求样式

curl https://your-http-endpoint/v1/<API-KEY> \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x16"],"id":74}'