web3.jsは現状2つのバージョンが開発されています。1つはweb3@0.x.x(現行は0.20.5)とweb3@1.0.0です。truffleが利用しているのが0.x.x系で、npm install web3 するとインストールされるのがweb3@1.0.0系です。
0.x.xがstableバージョンであり、1.0.0はまだβバージョンです。
両者の大きな違いは、0.x.x系はcontractのfunction呼び出し等にcallbackが必須となっていますが、1.0.0系ではpromisefyされているのでコールバックは必要なく、Promiseを返してくれるため簡単に同期/非同期処理が書けます。
また、もう一つ大きな違いが、タイトルにあるようにイベントフィルタの仕組みです。1.0.0ではイベントの監視処理がリニューアルされています。
今回はこのイベントフィルタの仕組みについて調べたことをまとめます。
続きを読む