Creating an ERC20 token for my upcoming platform, want to do basic token now to show to investors, and want to add staking airdrops + other functionalities later, do I understand correctly that this is doable via additional contracts later?

I'm also open to adding all the functionalities to the deploying smart contract, but I'm not a coder, so don't know how. My idea is to create the token along with some other tangible things, get funding, hire a team, create the platform and extend the token's functionality. Is this the correct way to go about doing this?
Can I just create a basic token with the wizard that will be secure and safe and add extra functionality later on by additional smart contracts?

Many thanks

Hello @Coinicle

Adding features to smart contract is not something you can do by default. If you want your token contract to evolve, you should use an upgradeability pattern. See this section of our doc for more information about upgradeability.

If you want to bootstrap a contract, you can indeed use the contract wizard. Still, I would strongly recommand you get help from someone that known what they are doing, particularly to discuss the additional functionalities (that could either be added to the contract token through an upgrade, or using a third party contract). We have a developper wanted section for that.

Hello @Coinicle
Here is a senior full stack and blockchain developer who has much experience in smart contract development.
I will mentor you the basic of crypto world and partner you.
Please contact @cryptodev1990 on Telegram.

Thank you for the answer, Amxx, could you please kindly explain in simple (as plain english as possible) terms what these third party contracts mean? Isn't this what I was asking about? For this, would I do a simple non-upgradeable contract to start with and then just create extra (third party?) contracts to extend the functionality? Or how am I misunderstanding this?

I'm not confident enough to ask a dev as I don't know how I'd be sure they're legit and not just taking my money or worse, putting some backdoor in my code, although I'd absolutely love to talk to an actual, real, legit developer.

Many thanks again!

I can help you.
if possible, hope discuss further more details via Telegram.
Kind regards.

I could point you to examples but chances are you wouldn't fully understand the code.

Basically you always have the options between:

  1. including the "mint/burn/other" specific mechanism in the token, and if you want to change the way your token works, you have to upgrade
  2. including protected "hooks" that allow a whitelisted contract to mint/burn/other. That way if you want to change the way things work you can just code that in a new "minter" contract, blacklist the old "minter" contract and whitelist the new ones.

Option 2 is cleaner IMO, but it doesn't apply to everything. It works well for things like minting ... but it doesn't work for things like "keeping track of voting power" if you want your token to be used in a DAO.

Hello, You can use the upgrade pattern from the oppenzeppelin. Use the proxy pattern for the upgrade of the smart contract.
If you need more help in detail, Plz contact me via TG. @smartdev0328