A diamond proxy contract is the smart contract with the fallback function that delegates function calls to facets. Here’s a link to a diamond proxy contract source code: https://github.com/mudgen/diamond-1-hardhat/blob/main/contracts/Diamond.sol A facet is a smart contract that a…
ERC1155 is a powerful and flexible token standard. Its functionality includes the following: Batch transfer functions are part of the ERC1155 standard…
The purpose of this article is to show how to add new state variables to an already deployed diamond and use them.
Constructor functions are used to set state variables in the contract storage of a contract that is being deploy. But realize that a facet doesn’t read…
Gas optimization is a matter of doing what is cheap and avoiding what is expensive in terms of gas costs on EVM blockchains
A diamond has a fixed gas cost for any amount of cross contract interaction under its control.
Simple Summary EIP-2535 Diamonds is a standard for creating modular smart contract systems that can be extended in production. Enables people to write…
I have written about the diamond storage pattern for organizing contract state variables in proxy contracts and diamonds. As a quick refresher, a state…
See all

EIP-2535 Diamonds