I have ERC20 fixed amount token, And I want to deploy pre-ICO crowdsale and later ICO crowdsale contracts. How do I make sure that no one else deploy crowdsale on my token except me?
I don't understand exactly what you mean. So you want to make an ICO with 2 phases and do not want anyone to copy your source code? Or do you mean, that you fear, that someone could call phase 2? Just to make clear:
- If you deploy 2 contracts, they won't be the same token. You create 2 tokens then.
- If you deploy the first contract, noone else can deploy on it an other contract - also you not.
You would need 1 contract and set 2 phases there where users can invest in like a pre sale and when you activate, in the "public" sale.
Please explain better :)
As everything is public in the Ethereum blockchain you can't prevent someone from copying your contract. So anyone can deploy the same token contract and make a crowdsale for it.
The difference is that your token and the fake token will have different addresses and they won't have anything to do with each other. The same applies to the crowdsale contract. You will tell your crowdsale clients to send Ethers to your crowdsale contract, not to the fake one. So essentially the fake crowdsale will simply not be used by anyone.
Or anyone can even deploy a crowdsale for your token contract but the same thing applies here - nobody will use the fake crowdsale as you will tell them the right contract address to use.