Web3js

使用 OR 運算符過濾事件

  • July 6, 2017

我想從 ERC20 兼容的令牌中獲取所有使用者的交易。我可以使用以下程式碼獲取所有傳入交易:

const to = token.Transfer({_to: account}, {fromBlock: 0, toBlock: 'latest'});
transferEvent.get((_, transactions) => { console.log(transactions); });

但是如何使用 web3 介面獲取所有交易(傳入和傳出)?

不幸的是,每個查詢可能只傳遞一個過濾器對象,並且沒有可用的高階邏輯運算符,如 sum 或 intersection。

我建議查詢事件兩次(首先是傳入,然後是傳出)並使用Array.concat()之類的東西合併結果。一個好的令牌實現應該防止自我發送,所以不應該有重複,但顯然,最好也檢查一下。

引用自:https://ethereum.stackexchange.com/questions/19518