DEV Community

Discussion on: Understanding Diamonds on Ethereum

Collapse
 
mudgen profile image
Nick Mudge

Great questions Gavin.

The diamondCut function which adds/replaces/removes functions prevents the same function selectors from being added.

Contract storage can be upgraded by adding state variables to the ends of structs. Also more areas of storage can be accessed using diamond storage. Info on that here: dev.to/mudgen/how-diamond-storage-...

I use git to manage contract source code. I use git tags to label deployments and upgrades to help keep track of things. It would be great if more tools and/or practices were published about this.