更新时间:2023-10-16 GMT+08:00

eth_getLogs

简介

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

参数说明

参数

类型

说明

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都不能够被设置。

返回值

日志对象数组,如果自上次轮询以来没有任何更改,则为空数组。日志对象包含以下键及其值:

  • removed:若日志由于链重组而被删除,则返回true。如果它是有效的日志,则返回false。
  • logIndex:块中日志索引位置的十六进制。当它是待处理(Pending)日志时返回NULL。
  • transactionIndex:创建日志的事务索引位置的十六进制。当它是待处理(Pending)日志时返回NULL。
  • transactionHash: 32 字节。创建此日志的事务的哈希值。当它是待处理(Pending)日志时返回NULL。
  • blockHash: 32 字节。该日志所在块的哈希值,当它是待处理(Pending)日志时返回NULL。
  • blockNumber:该日志所在的块号,当它是待处理(Pending)日志时返回NULL。
  • address: 20 字节。该日志的来源地址。
  • data:包含一个或多个 32 字节非索引日志参数。
  • topics:包含 0 到 4 个索引日志参数的数组,每个 32 字节。在 Solidity 中,第一个主题是事件签名的哈希值(例如 Deposit(address,bytes32,uint256)),除非您使用匿名说明符声明事件。

请求样式

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