EnterDao is intent on leading the way in the adoption of new approaches, technologies, and standards that have been proven superior to the current way of doing things.
The Diamond Standard is a modular approach to deploying smart contracts that allows greater flexibility in developing and adding incremental upgrades. Nick Mudge, the standard creator, highlights a few main Diamond features:
- 1.Your contract exceeds the 24KB maximum contract size. You may have related functionality that it makes sense to keep in a single contract, or at a single contract address. A diamond does not have a max contract size.
- 2.A diamond provides a way to organize contract code and data. You may want to build a contract system with a lot of functionality. A diamond provides a systematic way to isolate different functionality and connect them together and share data between them as needed in a gas-efficient way.
- 3.A diamond provides a way to upgrade functionality. Upgradeable diamonds can be upgraded to add/replace/remove functionality. Because diamonds have no max contract size, there is no limit to the amount of functionality that can be added to diamonds over time. Diamonds can be upgradeable or immutable. It is also possible to make an upgradeable diamond and then at a later time remove its upgrade capability.
The Kernel contract is complementary to the DAO and the DAO relies on it to read information about voting power. The DAO will have full control over the Diamond used by the EnterDAO which means it can only be upgraded through the proposals accepted by the DAO.