Skyge
2
There are some proxy patterns, and I think you can have a look at this tutorial: Upgrades - OpenZeppelin Docs And now UUPS proxies are recommended,
you can have a try following this tutorial: UUPS Proxies: Tutorial (Solidity + JavaScript) | OpenZeppelin Community
Yes, I think when you use the plugin to use proxy, it will have a check. Look at this documentation:
And https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#what-does-it-mean-for-a-contract-to-be-upgrade-safe