Creating an ERC-20 token with OpenZeppelin v3.x?

Hi @PradhumnaPancholi,

I suggest looking at AccessControl rather than Ownable so that you can define roles for specific actions (such as minting).
See the documentation for details: https://docs.openzeppelin.com/contracts/3.x/access-control#role-based-access-control

ERC20PresetMinterPauser is an example of using AccessControl for minting and pausing:

As well as access control, you could look at using hooks (depending on what functionality you need): https://docs.openzeppelin.com/contracts/3.x/extending-contracts#using-hooks

Whenever someone is creating a token, I suggest they look at: Points to consider when creating a fungible token (ERC20, ERC777)

Feel free to ask all the questions that you need.