This lab will walk you through the basics of Solidity programming. Throughout this sequence of codelabs, you may find you'd like more information about what is going on. If you find you need more resources on Solidity, visit the reference site at https://solidity.readthedocs.io/en/latest/ or viewing the associated screencast lectures available from class.
CryptoZombies is a scaffolded programming site that allows you to develop a smart contract for creating a zombie version of CryptoKitties. The site is organized into "Lessons" with each lesson consisting of about a dozen chapters. Each chapter requires you to write Solidity code to complete a smart contract in order to continue to the next one. The site allows you to write and check the correctness of your code all within the browser.
The UI of each chapter is the same. Instructions appear on the left pane, a code editor appears in the upper right pane, and a Hints section appears in the lower right pane.
Complete all of the chapters in Lesson 1. At the end of the chapter, name your zombie with your OdinID, take a screenshot of your zombie and include it in our lab notebook to show completion. Example for an OdinID of
For CS students only, complete the next 5 lessons of CryptoZombies, providing a screenshot of completion for each one showing your OdinID as the zombie's name whenever appropriate. (Advanced lessons will reward you with Zombie's that you do not name.) Each lesson takes about 60 minutes to complete.
Stop when you become the Phantom of Web3.
You are now semi-versed in Solidity, the de-facto language for programming smart contracts on Ethereum. You may have found its constructs difficult and confusing to use. Don't fret. Other developers do as well and security issues abound as a result of it. This is why many are moving away from it as a development language for the blockchain. We will delve more into these issues in subsequent labs so that you can begin to understand the perils in developing for the blockchain.