Skip to content

DappioLab/nft-breeding

Repository files navigation

NFT Breeding Program

Prerequisite: What is Metaplex Standard?

image from Metaplex docs

1. Initialize

  • Store metaplex NFT attributes on chain
  • Breeding Metadata
    • Hash
    • Generation
    • Name
    • Metaplex Mint
    • ParentA
    • ParentB
    • ...
    • AttributeA
    • AttributeB
    • ...
  • Initialization is only for genesis (Generation 0)
  • Change Upgrade Authority of NFT to Breeding PDA signer so that the used NFT can be burnt by Breeding program

2. Compute New Data

  • Customizable Breeding Logic with compute interface
  • Write attributes to BreedingMeta (PDA)

3. Mint Child NFT

  • Write Metaplex metadata (without URI)
  • Transfer upgrade authority to Breeding program PDA Signer
  • Burn Parent NFTs(optional)
  • Read attributes (off-chain)
  • Upload image to web3 storage (off-chain)

4. Update URI of child NFT

  • Update URI in Metaplex metadata