Flow Community Rewards are here. Earn points for engaging in the ecosystem, spend points on prizes. Learn more.
Developers
April 21, 2022
‍Build your own NFT Marketplace in 10 minutes
Flow
‍Build your own NFT Marketplace in 10 minutes

CryptoKitties was the first Web3 game that reached the masses. CryptoKitties was widely adopted because it was fun, and perhaps even goofy, which was a new paradigm for blockchain.

The game was so successful that it slowed down global transactions for Ethereum and resulted in building something better.

Now you can learn how to develop on Flow by building your own NFT marketplace inspired by CryptoKitties. Kitty Items: CryptoKitties Sample App will teach you Flow’s programming language Cadence, and how to build your own NFT marketplace in 10 minutes. 

You can claim a unique NFT upon completion of the tutorial! The details are somewhere in the there, so read carefully 🤫

First things first … What is an NFT marketplace?

NFT Marketplaces, sometimes referred to as Digital Asset Marketplaces, connect creators and collectors. They allow creators to create collections, mint, and sell NFTs.

Marketplaces like this usually break down into a web application that makes calls to an API, which in turn interacts with the blockchain. The blockchain interaction is usually done via queries to smart contracts. 

Dive right in

The best way to get started is to get familiar with the project itself. For that, we’ve deployed a demo application to make this as simple as possible. Try it out yourself!

If you like what you see, you can jump right into the action! Check out this tutorial or the GitHub project directly. Want to get a headstart? Open your terminal and run the following:

# make sure you have git, NodeJS v16+ and Flow CLI v0.32.3+ installed

git clone https://github.com/onflow/kitty-items.git

cd kitty-items

npm install

# if you are on an Apple M1 machine, run the following as well

# cd web/; npm i @next/swc-darwin-arm64; cd ..

# run the project on the Flow testnet

npm run dev:testnet

# if you face any issues, check out the troubleshooting FAQ: https://github.com/onflow/kitty-items#troubleshooting

Like to learn by watching instead? Check out the tutorial walkthrough: 

Creators of NFT Marketplaces Choose Flow

Flow is the blockchain for open worlds, powering crypto, NFTs, DeFi and even DAOs. One of the most prominent use cases for Flow is building secure and efficient NFT marketplaces. BloctoBay, an NFT marketplace built on Flow recently reported doubling its user activity by 200%.

Gaia an NFT marketplace developed by NFT Genius, reported over $6 million in volume, placing it the fourth largest marketplace according to DappRadar. With Kitty Items, you have the power to build your own NFT Marketplace and to get a jumpstart on blockchain development.

With Kitty Items, we make it easy for you to develop on Flow. Out of the box, you’ll receive a working boilerplate project, including the following key components:

1. Front End

This is a complete web application built with NextJS and React that demonstrates how to build a website that connects directly to the Flow blockchain using FCL. FCL handles authentication and authorization of Flow accounts, signing transactions, and querying data using Cadence scripts.

2. Back End

We love decentralization, but servers are still very useful, and this one's no exception. The backend API helps preserve the separation of concerns, so that your process and business logic doesn't have to be implemented on the front end. Backend operations are necessary to ensure secure handling of accounts and associated keys and to streamline blockchain interactions.

3. Cadence code

Cadence smart contracts, scripts & transactions for your viewing pleasure. This is where all of the blockchain logic for the marketplace application lives. Here you will find examples of fungible token and non-fungible token (NFT) smart contract implementations, as well as the scripts and transactions that interact with them. It also contains examples of how to test your Cadence code.

Get started now, visit our Github page, and if you’re not a member join our Discord

Happy Developing!