# Programmatically deploying upgradeable proxies

**URL:** <https://forum.openzeppelin.com/t/programmatically-deploying-upgradeable-proxies/4834>\
**Category:** Upgrades\
**Tags:** proxies, upgrades\
**Created:** [November 29, 2020, 4:19pm UTC](https://forum.openzeppelin.com/t/programmatically-deploying-upgradeable-proxies/4834 "2020-11-29T16:19:57Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)\
**Post date:** [December 4, 2020, 2:53am UTC](https://forum.openzeppelin.com/t/programmatically-deploying-upgradeable-proxies/4834/8 "2020-12-04T02:53:23Z")

</div>

Hi @bonedaddy and @kallolborah,

If you are deploying proxy contracts using a factory, then you won't currently be able to use Upgrades Plugins to do `prepareUpgrade`.

For some automated testing to test upgrade safety using a proxy, you could deploy your upgradeable contract using Upgrades Plugins `deployProxy` and then perform `upgradeProxy` in your test. See the testing example in [OpenZeppelin Upgrades: Step by Step Tutorial for Truffle](https://forum.openzeppelin.com/t/openzeppelin-upgrades-step-by-step-tutorial-for-truffle/3579)

For testing your deployment using the factory, you can't currently use Upgrades Plugins to prepare the upgrade, instead you would need to deploy the new implementation contract and then call the proxy to upgrade.

> [@bonedaddy](#):
>
> What is `aaa148c474cd10e1a6cd0a52c0b55f1aa9b7bb7b42d7f1cb5acaea4f42f04bc8` ? Is it a checksum of contract bytecode or something similar? I took a look at the network files documentation and it doesn’t indicate how this value is derived

It is a hash of the contact creation code, see: [https://github.com/OpenZeppelin/openzeppelin-upgrades/issues/175](https://github.com/OpenZeppelin/openzeppelin-upgrades/issues/175)

---

_[View the full topic](https://forum.openzeppelin.com/t/programmatically-deploying-upgradeable-proxies/4834)._
