OpenZeppelin has terrible examples covering Upgradable smart contracts

Hi @Allennick, thank you for the feedback.

The OpenZeppelin Upgrades Plugins are plugins targeted to the Hardhat and Truffle development environments, both of which provide scripting environments (yes, js scripts) for interacting with contracts. This allows you to develop and test your contracts and program how they are deployed, and testing is particularly important to ensure that your contracts are properly upgradeable.

There are some more detailed step-by-step tutorials on the forum for each of these environments:

The OpenZeppelin Upgrades Plugins for these environments help with deploying and managing upgradeable contracts. As described here, the plugins handle many of the details for you, which include deploying the implementation contract, admin contract (if needed), and proxy contract. They also validate that your implementation is upgrade safe and compatible with the previous version.

It is also possible to manually deploy or upgrade the contracts separately, but using the Upgrades Plugins is recommended because they help to validate your implementation for upgrade safety.

Let me know if this helps or if you prefer to deploy and manage your contracts in a different way outside of Hardhat and Truffle.

1 Like