If you are a Web3-native, you probably have heard of CryptoKitty. CryptoKitty is one of the world's first blockchain games, allowing players to purchase, breed, and trade virtual cats with different visual features of varying levels of rarity. In December 2017, the game became so popular that it pushed the Ethereum network to an all-time high in the number of transactions and accounted for over 10% of network traffic. In the CryptoKitty course, we will guide you to replicate this sensation. This lesson will inspire you to create your own viral blockchain game!

Skill LevelIntermediate
Total Length1.4h

Intended Learners

Who’s This Course For

  • For developers who are interested in the practice of NFT.


  • A basic understanding of Solidity is recommended - at a minimum, you should be familiar with the content from the course Solidity101 to Solidity104
  • Basic understanding of the ER721 standard.

What You’ll Learn

  • Writing projects in Solidity to realize CryptoKitty's functions such as minting, breeding, and querying information.
  • How to use a wallet to initiate transactions, get your project on-chain, and view relevant information.


  • Define the Contract

    How can I start a CryptoKitty project? In this initial section, we will set up the contract and define a variable specifically to track minted NFTs.

  • Minting a Kitty - Section 1

    We will begin learning about the minting process by starting the development of the _createKitty function.

  • Minting a Kitty - Section 2

    This section aims to complete the _createKitty function.

  • Create Gen-0 CryptoKitties

    Here, we will focus on creating the first-generation (Gen-0) CryptoKitties.

  • Breeding - Section 1

    We will start to explore the breeding aspect by initiating the development of the breed function.

  • Breeding - Section 2

    The final part of the course involves completing the breed function.



27 lessons
Access on mobile and desktop