Data Location

Variables are stored in one of three places.

Difference between memory and calldata

calldata is like memory but not modifiable. calldata saves gas.


We cannot get the size of a mapping, and we can not iterate through the mapping to get all the values

Unless we internally keep track of all the keys in the mapping


Why we have to index events?

logging data on the blockchain ⇒ it IS a transaction and cannot be declared as view function

if you want to search for an event by the parameter that was logged, then we use the keyword indexed


Override


Calling Parent Constructors / Functions