What Are CryptoKitties?
For the crazy cat parents out there, even the world of blockchain has a game for you. CryptoKitties. The blockchain-based game involves the breeding, raising, and adoption of digital cats to generate progeny that become valued collectibles, which can be traded. The kitties are purchased using Ethereum’s native token, Ether (ETH).
A Non-Fungible Blockchain Asset
CryptoKitties is instrumental in blockchain because it was the first known application of DApp for leisure and recreation. Built by Vancouver-based blockchain company Axiom Zen, the game uses the Ethereum network rather than creating its own blockchain. It’s important to recognize that CryptoKitties are not a currency, but are instead non-fungible blockchain assets.
Thus, each “kitty” is considered an ERC-721 token, allowing the holder/owner of it to hold it, allow it to mate, or trade it at any time.
The White Pa-Purr
The game’s whitepaper, or “white pa-purr” as it’s commonly referred to describes CryptoKitties as “digital, collectible cats built on the Ethereum blockchain, which can be bought and sold using ether, and bred to create new cats with exciting traits and varying levels of cuteness”.
At launch, 50,000 “Gen 0” cats or “Clock Cats” as they’re called, are stored in a smart contract on Ethereum’s blockchain. Unique in appearance, the Clock Cats are distributed every 15 minutes. The genesis cat was born in adopted on December 2, 2017 and the last cats were generated November 2018. After this, no new “Gen 0” cats were created, ensuring that only 50,000 Gen 0 kitties would ever exist.
Back in December 2017, Vitalik Buterin tweeted that he supported the game, which demonstrates the value blockchain brings beyond just mere apps.
After its first week launch in 2017, the platform has over 60,000 users, 100,000 cats, and $5 million in sales--accounting for 25% of Ethereum’s network traffic at the time.
The Smart Kitty Contract
The core smart contract for CryptoKitties tracks ownership, ownership transfer, and approval for creating new cats. When it comes to other aspects of kitten functionality, such as breeding, genetics, and auctions take place in other contracts.
Access Control
This particular contract assigns special roles to the CryptoKitties developers. The specific roles are as follows:
CEO: The CEO can reassign other roles and change the addresses of the dependent smart contracts. They also have the ability to unpause the contract. The “pause” function allows developers to pause the entire contract in event there is an upgrade, bug, or hack.
The pause function in a contract reads as follows:
unction pause() public onlyCLevel whenNotPaused {
paused = true;
- CFO: The CFO can withdraw funds from KittyCore and the auction contracts.
- COO: The COO can release Gen0 kitties for auction and mint promo cats.
KittyBase
This particular contract assigns special roles to the CryptoKitties developers. The specific roles are as follows:
CEO: The CEO can reassign other roles and change the addresses of the dependent smart contracts. They also have the ability to unpause the contract. The “pause” function allows developers to pause the entire contract in event there is an upgrade, bug, or hack.
The pause function in a contract reads as follows:
unction pause() public onlyCLevel whenNotPaused {
paused = true;
- CFO: The CFO can withdraw funds from KittyCore and the auction contracts.
- COO: The COO can release Gen0 kitties for auction and mint promo cats.
The most important contract in CryptoKitties is KittyBase, which sets the ground rules for kitty creation. This contains important information including, but not limited to:
- Kitty’s genes
- Kitty’s birth time
- Cool-down time for breeding
- ID of kitty’s mother
- ID of kitty’s father
- Whether they are pregnant
- What generation of kitten they are
OwnerShip
This speaks to how ownership is defined in the smart contract, addressing the token’s fungibility. Github defines “ownership” as the following:
“This provides the methods required for basic non-fungible token transactions, following the draft ERC-721 spec (https://github.com/ethereum/EIPs/issues/721)”.
Breeding
This contract sets the confines required for two kitties to breed and produce a new kitty. Breeding is comprised of the breeding process and birthing process.
The breeding function first checks whether the mother is ready to give birth, to which either the mother’s generation or father’s generation are set, depending upon who is younger.
After this, the child’s genes are created using the Gene Science function. Once the mother kitten births, three things occur:
For more information on how the breeding process works, please click here.
Auctions
The “auction” functionality is dont via two sibling contracts--sales and siring. The logic behind the two sibling contracts, according to the developers, is complex and always presents a risk for bugs. By having two contracts, they can be upgraded without disrupting the main contract which tracks kitty ownership.
The rest of the auction functionality, like creation and bidding are done through the core contract.
In this particular auction contract, the developers via its CEO have set various public methods for auctioning cats or for siring services:
Minting
Remember, the COO has the power to create promo cats and Gen0 kitties. This minting contract is how they do it.
By default, the contract places a limit as to the number of promo and Gen0 cats that can be created, which is built into the code itself:
- uint256 public constant PROMO_CREATION_LIMIT = 5000;
- uint256 public constant GEN0_CREATION_LIMIT = 45000;
Promo Creation
The COO’s ability to create is very powerful. For example, the COO can create whatever Promo kitty they want with whatever genes they want. They can also send the promo kitty to anyone they want.
Gen0 Creation
The COO has the ability to determine what Gen0 kitty they want to create, which upon creation, immediately goes to auction.
Core
The Core contract is the main contract which runs on the Ethereum blockchain. This inherits all the functions of the previous contracts.
A New Place to Store Crypto Collectibles: FLOW
Following the release of CryptoKitties, Dapper Labs decided to build the FLOW blockchain, with its native FLOW token. FLOW was designed to bring digital assets and DApps to the mainstream, implementing scale, speed, and security like no other blockchain in existence.
The FLOW team is comprised of leading researchers and production engineers, bringing in notable investors like Andreessen Horowitz, Union Square Ventures, Google Ventures, Samsung, and Venrock.
For more information on the FLOW blockchain, please click here.
The Token Sale
The Flow public token sale had two phases--a community sale and a Dutch auction.
During the first stage of the public token sale, held on fundraising platform CoinList, allowed participants to purchase up to 10,000 FLOW tokens at $0.10/token, bringing in over 12,500 participants from over 115 countries. However, residents from the U.S., China, and Canada were not allowed to participate.
Raising $18 million, FLOW’s public token sale made it CoinList’s largest-ever public token sale. It ran from September 21 to October 2.
The second stage, or Dutch auction, took place in mid-October 2020, allowed for the sale of 25 million more tokens, which represent 2% of the total supply. Dutch auctions allow investors to place bids, at which they are willing to purchase tokens prior to the commencement of the sale, with the price moving down from the opening price until all tokens are sold. All participants pay the same final clearing price.
Penetrating the Japanese NFT Market
On October 6, 2020, Japanese cryptocurrency exchange, Coincheck announced that it would be expanding its push into NFT, partnering with Dapper Labbs, to bring NFT to a mainstream Japanese audience. Coincheck plans to integrate the CryptoKitties app into its upcoming NFT marketplace.
NBA Top Shot
On October 6, 2020, Japanese cryptocurrency exchange, Coincheck announced that it would be expanding its push into NFT, partnering with Dapper Labbs, to bring NFT to a mainstream Japanese audience. Coincheck plans to integrate the CryptoKitties app into its upcoming NFT marketplace.
In May 2020, Dapper Labs launched a beta version of its flagship game, NBA Top Shot, bringing in over $2 million in revenue in private beta. When it launched, it sold $1.2 million of NBA cards.
The game is built on the FLOW blockchain, removing the friction that makes it difficult for average fans to play blockchain games today.
“Top Shots” are digital collectibles tied to the NBA league, containing both multimedia and data. The app came out of beta mid-October, with the public launch of “Marketplace”, allowing users to trade their cards. However, the company has stated that it is “invite-only”.