Я пытаюсь использовать API json-rpc для получения всех транзакций, вызывающих определенный метод смарт-контракта. При вызове этого метода смарт-контракт генерирует два события (скажем, события A и B).
На данный момент я вызываю eth_getLogs два раза: сначала я получаю все транзакции с событием A, а затем я получаю все транзакции с событием B. После этого я делаю пересечение, получая все транзакции, в которых были два события. испущено.
Проблема с этим подходом заключается в том, что существует огромное количество транзакций, в которых генерируется только одно событие A (и всего несколько транзакций, в которых генерируется только одно событие B). Эти транзакции отбрасываются, когда я делаю пересечение, но получение этого огромного количества нерелевантных транзакций, когда генерируется только одно событие A, делает первый вызов очень медленным.
Есть ли более эффективный способ получения интересующих меня транзакций?