Events 我能否在以太坊网络中仅为一个地址触发事件?

Events 我能否在以太坊网络中仅为一个地址触发事件?,events,ethereum,smartcontracts,web3py,Events,Ethereum,Smartcontracts,Web3py,我正在研究以太坊智能合约,以在卖家和买家之间建立一个市场。当有人(y)向(x)索要产品时,我是否可以触发一个事件,只让(x)他对其产品有一个新的请求 我已经完成了智能合约的完整代码,并且使用web3.py完成了事件监听。但是我想要的不是为网络上的每个人触发事件,只有卖家应该有一个通知,所以每个卖家都有自己的请求列表 我不知道这是否可能,如果是的话,有人能帮我更新我的事件列表代码吗 def handle_event(event): if (event.args['_new_req'] ==

我正在研究以太坊智能合约,以在卖家和买家之间建立一个市场。当有人(y)向(x)索要产品时,我是否可以触发一个事件,只让(x)他对其产品有一个新的请求

我已经完成了智能合约的完整代码,并且使用web3.py完成了事件监听。但是我想要的不是为网络上的每个人触发事件,只有卖家应该有一个通知,所以每个卖家都有自己的请求列表

我不知道这是否可能,如果是的话,有人能帮我更新我的事件列表代码吗

def handle_event(event):
    if (event.args['_new_req'] == True ):
        print(' New request for the product ')
    else:
        print (' The request has been failed ')

def log_loop(event_filter, poll_interval):
    while True:
        for event in event_filter.get_new_entries():
            handle_event(event)
        time.sleep(poll_interval)
def _new_req_listen():
    block_filter = contract.events._new_req.createFilter(fromBlock = 'latest')

    worker1 = Thread(target=log_loop, args=(block_filter, 2))
    worker1.start()
我是否可以筛选在不同情况下或针对网络中的不同人员触发的相同事件


提前感谢

我建议您从高层次(算法)的角度来考虑这一点,而不必立即往下看代码

对于您要求为特定人员(卖方)举办的活动,可采用以下方式之一:

  • 一个事件列表。事件数据结构包含“目标”地址属性。您可以将“目的地”设置为唯一值(例如0x000000),而不是“所有人”,或者您可以将“目的地”设置为一个人(例如卖方地址)
  • 或者,为每个卖家提供一份独特的活动列表。您的事件处理需要有一个外部循环来迭代所有事件列表。您还可以有一个“全局”事件列表,这意味着每个卖家都会收到该事件

谢谢您的回答,但我不明白您所说的事件数据结构是什么意思??我真的可以更改目的地地址并添加卖家地址吗?我可以在哪里配置它?你能用一个例子解释一下吗?这样我就能更好地理解这个想法,非常感谢