On this Tech Tuesday, Jim Zhang, Head of Protocol at Kaleido, takes you through Kaleido's Smart Contracts Management capabilities, highlighting some great new features like upgradeable contracts.
Upgradeable contracts are a very powerful and useful pattern in enterprise blockchain networks. By design, Ethereum smart contracts are immutable, so new versions (for bug fixes, additional features, etc.) are given a completely different address with separate states. This makes it a difficult task for enterprise blockchain networks to maintain uninterrupted operations.
Blockchain's immutable nature is a double-edged sword. While it guarantees trust and security, it poses significant challenges when you need to upgrade smart contracts. There are issues like maintaining the state and data of the original contract while transferring them to a new one. Security and trust must also be maintained throughout this transition.
But it’s a hurdle worth overcoming because we know changes happen in business, models shift, and we need the ability to push updates to our business logic.
The necessity for upgradeable smart contracts is also driven by the need for bug fixes, feature additions, and performance improvements.
As software needs evolve and issues get discovered, smart contracts should have the ability to adapt without requiring a complete redeployment or data migration.
Luckily various teams in the community like Zeppelin and Aragon have pioneered the proxy contract pattern that makes Ethereum smart contracts upgradeable.
There are several strategies to make smart contracts upgradeable. One approach is to separate the storage and logic of the contract, making it easier to change the latter without affecting the former. Another approach involves using delegate calls to a proxy contract that forwards calls to the current logic contract. Finally, a modular design allows individual components of a smart contract to be replaced without affecting the others.
All these processes require significant development experience to execute seamlessly. Kaleido has made it easier for developers without extensive blockchain experience to manage the lifecycle of contracts across multiple deployments.
In this demo, we'll show you how use upgradeable contracts with Kaleido. You'll learn how it works under the covers and how to use it with Kaleido's Smart Contract Management to compile, deploy, transact, and upgrade.
On this Tech Tuesday, Jim Zhang, Head of Protocol at Kaleido, takes you through Kaleido's Smart Contracts Management capabilities, highlighting some great new features like upgradeable contracts.
Upgradeable contracts are a very powerful and useful pattern in enterprise blockchain networks. By design, Ethereum smart contracts are immutable, so new versions (for bug fixes, additional features, etc.) are given a completely different address with separate states. This makes it a difficult task for enterprise blockchain networks to maintain uninterrupted operations.
Blockchain's immutable nature is a double-edged sword. While it guarantees trust and security, it poses significant challenges when you need to upgrade smart contracts. There are issues like maintaining the state and data of the original contract while transferring them to a new one. Security and trust must also be maintained throughout this transition.
But it’s a hurdle worth overcoming because we know changes happen in business, models shift, and we need the ability to push updates to our business logic.
The necessity for upgradeable smart contracts is also driven by the need for bug fixes, feature additions, and performance improvements.
As software needs evolve and issues get discovered, smart contracts should have the ability to adapt without requiring a complete redeployment or data migration.
Luckily various teams in the community like Zeppelin and Aragon have pioneered the proxy contract pattern that makes Ethereum smart contracts upgradeable.
There are several strategies to make smart contracts upgradeable. One approach is to separate the storage and logic of the contract, making it easier to change the latter without affecting the former. Another approach involves using delegate calls to a proxy contract that forwards calls to the current logic contract. Finally, a modular design allows individual components of a smart contract to be replaced without affecting the others.
All these processes require significant development experience to execute seamlessly. Kaleido has made it easier for developers without extensive blockchain experience to manage the lifecycle of contracts across multiple deployments.
In this demo, we'll show you how use upgradeable contracts with Kaleido. You'll learn how it works under the covers and how to use it with Kaleido's Smart Contract Management to compile, deploy, transact, and upgrade.