Programming in Solidity, Your Guide to Smart Contract Development

Happy holidays everybody and welcome to my review of “Programming in Solidity, Your Guide to Smart Contract Development” by James J. Sullivan. As a writer and a trained software engineer, I took this assignment for Irish Tech News with an open mind as I never worked on anything crypto-related but am reasonably skilled in object-orientated programming (aka OOP) along with its backing concepts. My review of this publication is as follows.

Overall, I found the author’s blend of technical writing and storytelling to be very easy reading in the hardback edition I received. It abstracts very complicated topics and parses them into very consumable formats for the reader. If the reader has scripting experience and researches the 4 pillars of Object Orientated Programming (aka A.P.I.E.), then they have the basics to gain value from this book. It’s also worth researching data typing of a general-purpose OOP language like Java to increase the efficacy of using the book to get set up as a crypto software developer with this book.

The book’s flow is very simple to understand and well written. It starts out detailing very concisely the format of the book, what to expect and then moves into some prerequisites that will maximise the readers benefit upon reading it. It then moves into tailored tools like the Remix IDE (custom Etherum IDE) and provides crystal clear guidance on its use. I did not download the software myself as I was going through the book but was able to follow along without any trouble thanks to the clear wordsmithing and illustrations therein.

The walkthrough of the development environment and building test blockchains for contracts was also crystal clear in the introduction of tools like Truffle and Ganache. Their context in the development ecosystem with Truffle for command-line interaction with the smart contract, along with Ganache in the backend was also clearly explained. This flowed into the DApp concepts exploration, noting remix and node’s npm have a lot of compatible packages to offer the Developer.

After nicely showing how this development environment can stage for production via continuous integration deployments, the final part of the development process was arrived at following the development project example used through the book. It covered testing in a way that shone a light on the only notable gap I could see in the book as a guide.

The explanation of testing processes and assets (e.g. unit test(s) v all unit tests as a test suite) in Remix was very clear. Also as clear was the illustration of Node’s package manager as an alternative and/or additional option depending on your approach to your smart contract development project. One relatively small oversight in my opinion was the commentary around Remix’s use of prefabricated test code in a test contract (class) injection into the environment.

The author focused on the helpful comments in the code illustrations, which guides the software developer on how to complete the unit tests at a basic level only. The gap lies in test cases, especially for the newly minted Software Developer without a thorough understanding of the software development lifecycle. The author could have qualified the scope of the default test code in the environment.

The detail could have cited the default code as the ‘common cases’ for illustrative examples. It would have been helpful to follow up with commentary about how the default test code should be added to and/or replaced by the software developer in working up a suite of custom test cases. The intent is that the custom test cases are based on the real-world testing scenarios for the application using these tools and frameworks.

The author made an impressive end to end guide for the new crypto software developer empowering ease of use with effective tools, shortening the first project learning curve in a new space with accurate and in my view reliable guidance. The only shortcoming I saw may apply to less-experienced software developers depending on their training and knowledge around software testing process approaches. The bottom line is that if you want to build crypto applications or use blockchain in your software development projects, then this book is a good choice to get started on it.

James J. Sullivan comes from a software and systems engineering background stretching back to the late 1990s and has been an entrepreneur since 2014. He has brought decades of engineering experience along with his deep project management and software architecture know-how to his role as CTO with the Blockchain Academy in 2021. He welcomes feedback upon reading the book at [email protected].

John Mulhall @johnmlhll is a writer with Irish Tech News for over 5 years and also a DevOps and Infrastructure Engineer specialising in Cloud related technologies. You can learn more about John at https://maolte.ie

See more reviews here.

 


More about Irish Tech News

Irish Tech News are Ireland’s No. 1 Online Tech Publication and often Ireland’s No.1 Tech Podcast too.

You can find hundreds of fantastic previous episodes and subscribe using whatever platform you like via our Anchor.fm page here: https://anchor.fm/irish-tech-news

If you’d like to be featured in an upcoming Podcast email us at [email protected] now to discuss.

Irish Tech News have a range of services available to help promote your business. Why not drop us a line at [email protected] now to find out more about how we can help you reach our audience.

You can also find and follow us on Twitter, LinkedIn, Facebook, Instagram, TikTok and Snapchat.

Irish Tech News

Pin It on Pinterest