How to choose an upgradable proxy mode?

Hey, I've been learning about the upgradable proxy mode recently. I have learned that there are three proxy modes: simple proxy, transparent proxy, and UUPS proxy.

My current understanding is that transparent proxies are designed to resolve function signature conflicts between proxy contracts and logical contracts in simple proxies, and UUPS proxies are optimized based on transparent proxies.

My question: Function signature conflicts can be discovered during the testing phase and resolved accordingly.

Can I just use the simple proxy mode without involving transparent proxy and UUPS?

I'm not sure if transparent proxies and UUPS have any other advantages that led me to use them.

Looking forward to any suggestions from you, thank!

1 Like

Hi, welcome to the community! :wave:

For proxy contract, I think you can have a look at the following docs:

Up to you, if it meets your requirements, you can use it.

For me, I think UUPS is better, because in UUPS proxies, the upgrade is handled by the implementation, it is more gas efficient, and the upgrade can eventually be removed.

1 Like