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

eth_getFilterChanges

简介

过滤器的轮询方法,返回自上次轮询以来发生的日志数组。过滤器必须通过调用eth_newFilter、eth_newBlockFilter、eth_newPendingTransactionFilter来创建。该API所消耗的计算单元为12。

参数说明

参数

类型

说明

过滤器ID

String

表示过滤器 ID 的字符串。

返回值

  • log object array:(数组)日志对象数组,如果自上次轮询以来没有任何更改,则为空数组。
  • 对于使用eth_newBlockFilter返回值创建的过滤器,返回值是块哈希(32 字节),例如["0x3454645634534..."]。
  • 对于使用eth_newFilter日志创建的过滤器,对象具有以下参数:
    • 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: 32 字节。创建此日志的事务的哈希值。当它是待处理(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_getFilterChanges","params":["0x16"],"id":73}'