Diamond Smart Contracts

Introducing "Diamonds", ERC-2535: Diamonds, Multi-Facet Proxy, is a new type of smart contract system t- a highly modular, upgradable after deployment, and has virtually no size limit

All new upcoming tools and features released by NiftyKit will be applicable to all deployed Diamond smart contracts moving forward.

Advantages of using Diamond Contracts:

  1. Single Address for Unlimited Contract Functionality. Deployment, testing, and integration with other smart contracts, software, and user interfaces are made simpler through the use of a single address for contract functionality.

  2. Exceeding 24KB Maximum Contract Size. It is possible to keep related functionality within a single contract or at a single contract address, as Diamonds have no maximum contract size.

  3. Organization of Contract Code and Data. A Diamond provides an effective system for isolating different functionalities and connecting them together, as well as sharing data between them in a gas-efficient manner.

  4. Upgrading Functionality. Upgradeable Diamonds can be improved to add, replace or remove features as required. As Diamonds have no maximum contract size, there is no limit to the amount of new functionality that can be added over time. Through upgrading, parts of a Diamond can be altered without having to re-deploy existing processes.

  5. Immutability. It is possible to deploy an immutable Diamond or make an upgradeable Diamond immutable at a later stage.

  6. Reusing Deployed Contracts. Existing, deployed contracts on the blockchain can be utilized to create Diamonds, allowing for the creation of on-chain smart contract platforms and libraries.

Last updated