Solidity in Blockchain: A Versatile Programming Language for Smart Contracts