Key Elements of a Solidity Smart Contract