eth_newFilter
基于给定的选项创建一个过滤器对象,接收状态变化时的通知。要检查状态是否变化,
请调用eth_getFilterChanges
。
关于特定主题过滤器的说明:主题是顺序相关的。如果一个交易的日志有主题[A, B]
,那么将被
以下的主题过滤器匹配:
- [] 任何主题
- [A] 先匹配A主题
- [null, B] 先匹配其他主题,再匹配B主题
- [A, B] 先匹配A主题,再匹配B主题,最后匹配其他主题
- [[A, B], [A, B]] "先匹配A主题或B主题,再匹配A主题或B主题,最后匹配其他主题
参数
Object
- 过滤器选项对象:
- fromBlock: QUANTITY|TAG - 可选,默认值:"latest"。整数块编号,或字符串"latesr"表示最后挖出的块,"pending"或"earliest"用于未挖出的交易。
- toBlock: QUANTITY|TAG - 可选,默认值:"latest"。整数块编号,或字符串"latesr"表示最后挖出的块,"pending"或"earliest"用于未挖出的交易。
- address: DATA|Array, 20字节 - 可选,合约地址或生成日志的一组地址
- topics: Array of DATA, - 可选,32字节主题数组,每个主题可以是数组或使用
or
选项连接
params: [{
"fromBlock": "0x1",
"toBlock": "0x2",
"address": "0x8888f1f195afa192cfee860698584c030f4c9db1",
"topics": ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", null, ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc"]]
}]
返回值
QUANTITY
- 过滤器编号
示例代码
请求:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x12341234"]}],"id":73}'
响应:
{
"id":1,
"jsonrpc": "2.0",
"result": "0x1" // 1
}