Happy new year to everyone. Watching my contract events is quite time consuming (more than 15 sec to find the first event). I'm using this kind of command in my geth console :

mEvents = myContract.myEvent({}, {fromBlock: myBlockContract, toBlock: 'latest'});

Do you have any advice to help me to speed up the event filtering ? (my geth node is running on a small vm : 1 vCPU, 3,75 Go RAM)

Edit : my geth node was synchronized with --fast. Fast mode should download the event log according the doc, but maybe not ...

  • I haven't tried this but I understand that Parity is faster at retrieving events than Geth. Commented Jan 20, 2017 at 21:48

1 Answer 1


The only reasonable way to do it is to cache the events somewhere. Then when you first update it you overwrite the cache.

The reason getting the event history is so slow is that events are not saved into the state-tree as storage variables are. You basically have to rerun the whole history from block A to block B to get the events there.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.