title: Difference of Geth or Ganache
body: <p>Hi I am new to blockchain topic and I am trying to make an Ethereum smart contract. First step I installed truffle and when I try to migrate it throws an error because I have no ethereum client. 
      For solving this problem truffle develop, ganache, geth are recommended but I couldnt decide to which one is more suitable and I dont understand the difference of ganache and geth. Basically are they serving same thing or not? Here is error:</p>
  
  <pre><code>Could not connect to your Ethereum client with the following parameters:
  - host       &gt; 127.0.0.1
  - port       &gt; 7545
  - network_id &gt; *
  Please check that your Ethereum client:
  - is running
  - is accepting RPC connections (i.e., "--rpc" option is used in geth)
  - is accessible over the network
  - is properly configured in your Truffle configuration file (truffle-config.js)
  </code></pre>