I have an option to save the state of the contract inside it or to recreate the state from event log. Are those options equally scalable or one of them is preferred?
For example I can have a field inside the contract uint public count and update it with function call (option #1) or fire an event and calculate count on the client (option #2).
I expect to have ~100 events and they will be spread on the blockchain for a month time period. Will I be able to calculate the resulting state from the event log fast enough?