Upgrading smart contracts in Ethereum has historically been a tedious process; however, because of a new storage feature in Ethereum, we can breeze through the upgrade process and focus our time on more important things.
I present the Diamond Setter, a simple and effective contract manager for your Diamond Standard based contracts. It makes maintaining and upgrading your contracts a breeze by automating the upgrade logic. You simply provide your contract addresses and ABI then call one single command. It automates the process of determining what needs upgraded or removed by calling the proper Diamond Standard functions.
The Diamond Standard, written by Nick Mudge, is a set of contracts that can access the same storage variables and while sharing the same Ethereum address to achieve upgradability and scalability.
I’ve been using this with my mainnet contracts with VolleyFire and it’s dramatically increased my contract development efficiency. I recommend anyone who’s currently developing smart contracts on Ethereum to grab the Diamond Setter on GitHub and give it a try.