Understanding the Structure of a Solidity Smart Contract