Practical, technical guides to the EIP-2535 Diamond standard — written for engineers building, integrating with, or auditing diamond contracts.
New to diamonds? Start with What Is a Diamond? EIP-2535 Explained, then read The Diamond Loupe to understand how tools like Louper read a deployed contract.
A plain-English introduction to the EIP-2535 Diamond standard: what problem it solves, how facets work, and when you should (and should not) use one.
9 min readHow Solidity turns a function signature into a 4-byte selector, why selectors matter for diamonds, and how selector collisions actually happen.
8 min readThe four loupe functions defined by EIP-2535, what each one returns, and how tools like Louper use them to reconstruct a diamond ABI.
7 min readAn honest comparison of EIP-2535 against the more common proxy patterns, including the real trade-offs in gas, tooling and audit burden.
9 min readWhy facets cannot use ordinary state variables, and how Diamond Storage and AppStorage keep upgradeable contracts from corrupting their own state.
11 min readA walkthrough of the diamondCut function: Add, Replace and Remove actions, initialization calls, and the mistakes that brick an upgrade.
10 min read