How to create Upgradable Token?

Hello everyone,
I can make normal ERC20 tokens but recently someone told me to make token with Upgradable functions. So, how can I make a simple upgradable token having the burn, mint (optional) & freeze (lock) functions?

And another question is can I add the governance functions later on it?

I hope someone here will help me through the simple code & guideline.

1 Like

Hi @Md_Sejabur_Rahat,

I suggest starting with creating a simple upgradeable contract: https://docs.openzeppelin.com/learn/upgrading-smart-contracts (using either Truffle or Hardhat).

You can then create an ERC20 extending from ERC20Upgradeable in OpenZeppelin Contracts Upgradeable: https://docs.openzeppelin.com/contracts/3.x/upgradeable

I am not sure what you mean by governance, but you can add functionality to the token via upgrades.

You can use a multisig to control upgrades.

See: