This is my first time creating a contract. I need to create a TEST contract ERC20.

After researching I understand ERC20 is like an abstract class which tells which methods should be implemented in the contract.

Also I understand I need to create the contract using Solidity and I need to deploy it.


  1. Is a Token an instance of a contract?

  2. Is it necessary to deploy a contract for testing purposes?

  3. How do I deploy a contract on a test network and on a main? is it done through web3 API or do I need to do it through a Wallet?

  4. Sender address is the same as the contract address?

Thanks in advance.

  1. Yes, it is. (proof)
  2. Yes, but you can deploy it in your private chain, so you don't need to sync and waste time. Consider using remix btw.
  3. It can be done both ways. You can deploy it through the web3 API in geth console for example or through the Ethereum Wallet app or on MyEtherWallet.com website.
  4. No, it is not. You need the sender address and the sender nonce to compute the address of smart-contract.


Find out more about how addresses of smart-contracts are computed here.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.