Software Engineering Hands-On Smart Contract Development with Solidity and Ethereum: From Fundamentals to Deployment By Kevin Solorio, Randall Kanna, and David H. Hoover