# Storage
The storage keys in Zink is slot based, for example, the first detected
storage in compilation will be using `0` as storage key.
```solidity
// Loading storage at 0
PUSH0
SLOAD
// Loading storage at 1
PUSH1 0x01
SLOAD
```
## Key-Value
As mentioned above, all key-value pairs follows using number as storage key, however, the value
will be limited with 32 bytes, dynamic value like string is currently not supported.
## Mapping
Mapping keys are generated via `keccak256(slot, key)`
## Array
Similar to mappings, but the keys will be using `u32` / `u64` for indexing due to the optimization
on the wasm side in the zink compiler, which means, the max size of an array is `max(u64)`.