首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web3.py“主题”

Web3.py“主题”
EN

Ethereum用户
提问于 2020-11-26 15:11:15
回答 1查看 1.9K关注 0票数 1

我对题目有疑问:。我想查询和过滤下面的特定事务。

代码语言:javascript
复制
Transaction Recept Event Logs

Topics
-1st log-
0 - 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
1 - 0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d 
-2nd log-
0 - 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
1 - 0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
2 - 0x000000000000000000000000cffdded873554f362ac02f8fb1f02e5ada10516f
-3rd log-
0 - 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
1 - 0x000000000000000000000000cffdded873554f362ac02f8fb1f02e5ada10516f
2 - 0x000000000000000000000000e83d30715569fa0ef6744e96c7103cc410b82e09
-4th log-
0 - 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1 ```

我的代码问题:当我在第三个主题上添加第二个log 0时,它会使我变成空的。

代码语言:javascript
复制
from web3 import Web3, HTTPProvider
from hexbytes import HexBytes
w3 = Web3(Web3.WebsocketProvider('my addresss....'))
event_signature_hash = Web3.keccak(text="eventName(uint32)").hex()
event_filter = w3.eth.filter({
    "fromBlock":"latest",
    'topics':['0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c', '0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d']
})

对于上面的事务,我只能过滤第一个日志。当我试图在主题上添加第二条日志时,它返回为空.有没有任何方法可以使用主题过滤整个日志?

我是如何得到第二和第三日志2的

代码语言:javascript
复制
    'topics': [
[
    '0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c',
    '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
    '0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1'
    ],
[
    '0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d',
    '0x000000000000000000000000539562e68e37041729d5a8084b4ce982b0398afd'
],
[
    '0x000000000000000000000000cffdded873554f362ac02f8fb1f02e5ada10516f',
    '0x000000000000000000000000e83d30715569fa0ef6744e96c7103cc410b82e09'
]
EN

回答 1

Ethereum用户

回答已采纳

发布于 2020-11-26 15:41:53

来自正式文件

给定主题A,B的事务日志,以下主题筛选器将产生匹配:

  • []“任何事”
  • 一个“A处于第一位(及其后的任何事物)”
  • 无,B“任何第一位的任何事物和第二位的B”(以及之后的一切)
  • A,B“A在第一位,B在第二位(以及之后的任何事情)”
  • [A,B,A,B]“(A或B)处于第一位,(A或B)处于第二位(及其后的任何事物)”

因此,为了检索第一个日志和第二个日志,您需要使用:

代码语言:javascript
复制
'topics': [
    [
        '0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c',
        '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
    ],
    [
        '0x0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d'
    ]
]
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/90526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档