For the second day of BUIDL Week leading up to the EthDenver conference, myself Colin and Andy went to a Zeppelin OS workshop on upgradeable smart contracts.

Once a contract is published onto the ethereum blockchain it is immutable and cannot be edited.  It is not very common in software development that as soon as you deploy your code, that's it, you can't update it anymore or make any bug fixes or changes.  This means it's super important to make sure your code is properly tested and vetted before publishing onto an ethereum network. In practice this is almost impossible to achieve and adds a lot of pressure on developers to make sure things are 100% correct before deploying.

Thankfully Zeppelin OS provides a means of "ugprading" your contracts by use of a proxy contract.  This proxy contract's address never changes, and it delegates all your calls to the latest implementation of your smart contract.  The contract which this proxy contract delegates it's calls to, can be updated to point to the new address of your upgraded contract, thus allowing you to "upgrade" your dApp without all your users having to remember to point to the new contract address.

As part of the workshop we worked on the Zeppelin OS ZepKit.  This website gave us all the instructions and guidance we needed in order to deploy a smart contract, enable a new feature and then "upgrade" the smart contract, all via their command-line tool.  Zeppelin OS abstracts away all the manual steps involved and makes upgrading a smart contract a seamless and simple experience.

Because all the storage used is associated with the proxy contract which does not update, the user can trust that any eth or tokens locked up in the contract are not going to be "lost" or no longer associated with your dApp.

After the workshop we had some wine and listened to a presentation from MakerDAO and Aave about DAI tokens and collateralized debt positions (CDP).  

We then went to the Denver Sports Castle to register for the EthDenver conference and bumped into a few guys from buidl week.  After some beers and food at Charlie Brown's we went to an arcade place called FTW and played some shuffleboard and Killer Queen.

Killer Queen - such an awesome 10 player game!

Tomorrow we start the official Eth Denver conference at the Sports Castle. I for one am super excited to see what exciting ideas and projects everyone comes up with.