Updating a rushed ERC20 release to allow crowdfunding


I’m very new to developing so my apologies in advance. I rushed the release of my token to mainnet without accounting for crowdfunding/ico release. I’m confident I can update the token to allow for this on eth remix, but am having a hard time finding the proper files on openzepp. My token is a simple smart comtract protocol that is v.0.5.0. Does this mean I need to write my crowdfunding sol file using the same version? If not does anyone know of a simple crowdfunding sol file on here that will be best for my needs: (smart contract protocol…not simple token). Thank you in advance!


Hello @JacobOnChain
By default, smart contracts are NOT upgradeable. If you deployed your token using remix, and didn’t personally added any “upgradability” features, then it very likely isn’t upgradeable.

If you already minted all the supply you need, you can still deploy a crowd sale contract and transfer the tokens you want to be put on sale to it. Otherwise, you’ll have to deploy a new token contract.

I cannot emphasize enough that you should do proper testing of all the features you want (including crowdsale & upgradability) and have your contract be properly audited BEFORE you deploy them to mainnet. Rushing a release is never a good thing.

hey @JacobOnChain
As @Amxx already said you can try to deploy a Crowdsale contract transfer tokens to that contract or, an alternative is to increase the allowance of this new Crowdsale contract to spend your tokens directly. Openzeppelin Crowdsale contracts can be used until version 0.5.x I think so I suggest to use the same version of your token if it is 0.5

Thank you for clarifying this functionality. With that said I was preferring to launch a crowdsale protocol using a separate 0x wallet address anyway…just foolishly thought the sol for the token’s functionality was the only file I needed to include for mainnet launch. I now regret this.
Ultimately, I want to delegate the capped supply to 4 separate wallets: 1,000,000,000 capped supply (15% ICO, 30% Dev Team, 25% node op rewards, 30% exchange liquidity). It’s starting to sound like I just made extra steps for myself, essentially, but this still can be done?
A headache I will run into is with needing 3 simultaneous layers of smart contracting to occur in the protocol. One layer for currency exchanging, another for data sharing and rewarding oracle service, and the third for providing liquidity back to the centralized exchange…
Starting to feel like I need to start from scratch. Contract below for reference.

Thank you, @FreezyEx. I want to keep all of the language as similar as possible so I will research 0.5.x files for crowdsale and see what I can find. I fear I need to start over. My contract is very simple, yet I require 3 working layers of smart contracting to make my token do what I need it to do.
To my understanding I only built one layer and just deployed like a madman…