Tight variable packing pattern
Tight variable packing should be utilized when using structs in Solidity. The Solidity language allows structs in the contract, that is used to define an abstract data type. When the storage is allotted to a struct type variable in EVM storage, it is allotted in slots. Each storage slot is 32 bytes long. When statically sized data types are used in the struct (for example, uintX, intX, and bytesX), these variables are allotted storage slots starting from 0 index. Storing and reading data from these storage slots consumes gas based on the number of storage slots written or accessed. Hence, when variables are not tightly packed in a struct, it could consume more storage slots, which would result in more gas consumption ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access