EIP-2535 Diamond
The Beanstalk contract is a Diamond – a multi-facet proxy defined in EIP-2535 that can implement functionality from numerous different Facet contracts.
All the Facets share a common storage through the AppStorage
pattern. Functionality is shared between Facets through internal Libraries.
Understanding EIP-2535 really helps to understand Beanstalk. This page serves as a resource hub for EIP-2535.
What is a Diamond?
Implementation Tips for Diamonds (which Beanstalk uses)
Why use a Diamond?
More Information on Diamonds
Last updated