ERC777 contract best practice

Hi @MAbdulsamee,

Welcome to the community :wave:

At a high level, I suggest you look at: Points to consider when creating a fungible token (ERC20, ERC777)

As a summary, if your solution really needs a token, you should test, audit, have regulatory guidance, design tokenomics and have transparent governance for your access control. With an ERC777 token you also need to account for reentrancy.

I am not sure what you mean by fee collector?

Do you mean a wallet for collecting proceeds from a crowdsale?

If so, you may want to look at a multi-sig wallet contract (such as from Gnosis) using hardware wallets as signatories.

Please note Crowdsales were removed from the OpenZeppelin Contracts from v3.0.0 but are still available in v2.x, see the documentation for details: https://docs.openzeppelin.com/contracts/3.x/crowdsales