title: difference between interface and abstract contract in solidity
body: <p>I am learning solidity and got to know that <code>interface</code> and <code>abstract</code> are both classes that may contain unused functions.
  My doubt is: What is the difference between <code>interface</code> and <code>abstract contract</code> in a solidity smart contract?</p>