HandsOn Smart Contract Development with Solidity and Ethereum by David H Hoover