In Solidity, what is the difference between 'storage' and 'memory' variable locations in smart contract execution?
-
A
Storage is encrypted on-chain; memory is unencrypted during execution
-
B
Storage persists permanently on-chain between calls; memory is temporary within a single call
-
C
Storage holds function parameters; memory holds state variables
-
D
Storage is faster and cheaper; memory is slower and more expensive