Solidity: Read Contract Storage by Slots with Foundry

State variables are stored in different "slots" in a contract, and each slot is 32 bytes (256 bits). However, multiple adjacent state variables declared in the contract may be packed into the same slot by the Solidity compiler if their combined size does not exceed 32 bytes.

Solidity: CREATE vs CREATE2

How to deploy a contract using `CREATE2` which is introduced in EIP-1014 to provide more flexible address generation.

Solidity: calldata, memory, and storage

If you can, try to use calldata as data location because it will avoid copies, reduce gas usage, and also make sure that the data cannot be modified.