Inspiration

Without upgradeable smart contracts, teams are stuck using waterfall development. This increases development time and audit costs.

What it does

Our solution is a Truffle plugin that modifies Truffle projects to adhere to the EIP 1822 - “Universal Upgradeable Proxy Standard”. It handles migration and testing using upgradeable contract patterns.

How we built it

We used the Truffle-plugin framework with a combination of Truffle packages. Our visualization dashboard uses React and Web3.

Challenges we ran into

Trade-offs between contract security and getting the demo up and running in 24 hours.

Accomplishments that we're proud of

  • Deep knowledge of upgradeable contract design patterns and the ability to deploy a working truffle plugin NPM package available from Github.
  • Our web visualization dashboard that makes it easy to learn how upgradeable contracts work.
  • Our testing tool that catches regressions you would otherwise miss when testing upgradeable contracts.

Moving Forward

  • Improve the user experience of the tool to make it more versatile, robust, and seamless.
  • Improve the security of the proxy contract.
  • Improve the UI of the visualization tool.

We believe with more time this plugin could be an essential part of developer workflow with Truffle.

Links

https://github.com/mdcoon/truffle-proxy https://github.com/mdcoon/truffle-proxy-ui

Share this project:

Updates