Skip to content

A Substrate pallet implementing a complete NFT marketplace for digital collectibles called "Kitties". Each kitty is a unique non-fungible token with randomly generated DNA, ownership tracking, and marketplace functionality.

Notifications You must be signed in to change notification settings

alloc33/substrate-collectables-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Substrate Kitties NFT Marketplace

A Substrate pallet implementing a complete NFT marketplace for digital collectibles called "Kitties". Each kitty is a unique non-fungible token with randomly generated DNA, ownership tracking, and marketplace functionality.

Features

  • NFT Creation: Generate unique kitties with 32-byte DNA signatures
  • Ownership Management: Track and transfer ownership between accounts
  • Marketplace: Set prices and trade kitties with built-in escrow
  • Collection Limits: Bounded collections to prevent storage bloat
  • Event System: Comprehensive event emissions for all marketplace activities

Core Functionality

  • create_kitty() - Mint new kitties with unique DNA
  • transfer() - Transfer ownership between accounts
  • set_price() - List kitties for sale or remove from market
  • buy_kitty() - Purchase kitties with price validation

Storage

  • Tracks total kitty count and individual kitty metadata
  • Maps accounts to their owned kitty collections (max 100 per account)
  • Stores pricing information for marketplace listings

Development

Build

cargo build

Test

cargo test

Format & Lint

cargo +nightly fmt
cargo +nightly clippy

Dependencies

Built with Polkadot SDK using the latest FRAME v2 architecture.

About

A Substrate pallet implementing a complete NFT marketplace for digital collectibles called "Kitties". Each kitty is a unique non-fungible token with randomly generated DNA, ownership tracking, and marketplace functionality.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages