CoinMarketCap looks at Solidity — the programming language that Ethereum’s smart contracts and DApps are built with, and then explore the CryptoZombies game that teaches beginners Solidity.
What Is Solidity?
Solidity is the programming language that allowed Ethereum to expand blockchain technology beyond Bitcoin-style, peer-to-peer cryptocurrencies to become what one of its creators calls “one computer for the entire planet.”
Join us in showcasing the cryptocurrency revolution, one newsletter at a time. Subscribe now to get daily news and market updates right to your inbox, along with our millions of other subscribers (that’s right, millions love us!) — what are you waiting for?
Pros of Solidity
Solidity has a number of strengths that helped build Ethereum into a juggernaut. For one thing, it was designed to be fairly simple to use by anyone with a basic knowledge of programming languages such as Javascript or C++.
For another, its smart contracts are built on a blockchain, so they cannot be altered or deleted. That means that Ethereum is a very secure way to do what it was designed to do — transfer anything of value, using either the native Ether tokens or the compatible but white-labeled ERC-20 tokens to pay for those transactions.
Limitations of Solidity
Mistakes cannot be fixed, transactions cannot be reversed, and exploits can only be fixed by updating the Ethereum code — which requires participation of individual nodes that is not always forthcoming, at least not swiftly.
How Much Time Does it Take to Learn Solidity?
Solidity was designed to be particularly user-friendly to anyone with a basic familiarity with other, more mainstream coding languages including C++, Java, JavaScript and Python. This means that people with experience in the general programming concepts and aforementioned coding languages would take a shorter time to learn Solidity. This could take anywhere from one to six month.
How Much do Solidity Developers Make?
Convinced yet? With that, let's dive into learning Solidity with CryptoZombies.
How to Learn Solidity for Beginners with CryptoZombies
There are two curriculums: Basic to intermediate smart contract design, and advanced Solidity, which covers testing and deploying DApps like your zombie game, and building oracles that bring trusted outside data that smart contracts can rely on to determine when to execute.
Basic Lesson: Creating Your Crypto Zombies
The basic lesson plan begins with building your zombie factory — creating a database of individual zombies on the blockchain, a method of creating new ones, and a numerical “DNA” function that controls each zombie’s appearance — and that of other creatures they infect. That is to say, making the characters.
There are six lessons, each with 11 to 15 steps covering different Solidity design concepts. These have both a very clear, simply written explanation of what you’re doing and why you’re doing it, and coding fields that lead you through creating the code to build the smart contract sections that the game is made up of. This is where you need some coding familiarity, but it largely boils down to understanding the terminology and basic concepts — those code snippets are used, and each chapter has a “check answer” button that gives the right answer if you get it wrong.
For example, this involves creating structs — giving the zombie a name and DNA string — making the database of zombies public, and making use of that DNA information.
Advanced Solidity Concepts on CryptoZombies
The second curriculum set covers creating a way for zombies to multiply by feeding on and infecting other lifeforms — adding and defining the game dynamics. Zombie snacks can be humans built in the game, but the lesson plan creates a way to infect CryptoKitties — well, using their DNA information to create new zombies without actually damaging the pricy NFT avatars. Which boils down to learning how to make your smart contract interact with an outside contract.
Among other things this includes making zombies ownable — giving one user special privileges — using mappings and addresses. Then it moves on to creating the CryptoKitties interface, and determining how the genes extracted from them create zombies with new traits — like tails — to go along with the eye color and shape, bright shades of skin, and clothing design.
More lessons come after that, covering issues ranging from making CryptoZombies ownable, paying the Ethereum gas transaction fees, and keeping zombies secure.
Advanced Lesson: Creating NFTs of Zombies
Those are followed by a battle system; using ERC-721 standard to create non-fungible tokens — NFTs — that hold a unique zombie as well as “outsourcing” the need to create an auction system that allows users to buy, sell, and trade zombies; and building a front-end user interface including everything from MetaMask wallet interaction to managing transactions.
The advanced lessons cover testing your smart contracts for errors, deploying your smart contracts, and building oracles. There are a couple of places where some JavaScript is needed in addition to Solidity.
Further Lessons
After that, the “Beyond Ethereum” curriculum cover non-Ethereum blockchains, including the Diem (formerly Libra) stablecoin, Ethereum-based Binance Smart Chain, and using zero-knowledge proofs — zkSync — providing security for token transfers, among other things.