Solidity Programming Essentials: A guide to building smart contracts and tokens using the widely used Solidity language - Modi (IEEE, 2003)