My contract has data that is only for front-ends to read (the contract will never need to reference it again).
Is there any reason to write that data to the blockchain, or can Events just be emitted with the relevant information? So that front-ends can just scan the logs.
Emitting Events is apparently much cheaper than storing on-chain data, so sticking with Events is enticing.
Is speed an issue? How efficiently can web3 scan all blocks looking for Events, compared to reading from a contract? What other considerations are there?