Understanding the Concepts of Smart Contracts Using Solidity