NMKR Docs
ProductsContact
English
English
  • Welcome to NMKR Docs
  • Introduction
    • About NMKR
    • Powered by NMKR
    • What is an NFT?
      • What is IPFS?
    • Why Cardano?
  • NMKR Studio
    • Introduction - NMKR Studio
    • Features Overview
    • 🖥️Learn NMKR Studio in 3 minutes
      • Basic Workflow
    • How to - Quick Start Tutorials
      • Quickstart Full Video Tutorial
      • Guidelines Planning a Project
      • How To Add Tokens
      • How to set up Metadata
      • How To Sell Tokens
      • How To Set Up Sales Conditions
      • How To Do a Reveal
      • How To Burn Tokens
      • How To Enable Royalties
      • How To Enable DIDs
      • How To Set up Whitelisting
      • How to Airdrop Tokens
    • Pricing
    • Account
      • Registration & KYC
      • Security
      • Wallets
      • Mint Coupons
      • Dashboard
      • Transactions
      • Invoices
      • API Keys
    • Project
      • Policy
        • Managing policies
      • Create
      • Edit
      • Metadata Template
      • Statistics
      • DID - Decentralized Identifier
      • Notifications
      • Royalties
      • Additional Payout Wallets
      • Affiliate links
      • Export Metadata as Zip
      • Export NFT as csv
      • Mint and Send Jobs
      • Export placeholder.csv
    • Token
      • Manage Tokens Tab
      • Upload
        • Upload single tokens
        • Bulk Upload Files and Metadata
          • Bulk Upload via Drag and Drop
          • Bulk upload via SFTP
      • Edit
      • Metadata
        • Add Token-specific Metadata
        • Fingerprint (Metadata preview)
        • Metadata Check
        • Metadata Standard for fungible Tokens
        • Fully on-Chain NFTs
          • Partial URL-Encoding
        • CIP-68
      • Duplicate
      • Delete
      • Burn
      • Update (Edit after Mint / Reveal)
    • Set up Sales
      • Manage prices / Pricelist
        • Create new Prices
        • Free Drops
        • Custom Token payment
        • Discounts
      • Sales Conditions & Whitelisting
        • Sales conditions depending on policy ID or stake pool
        • Whitelist with Count
        • Blacklist
        • Test Sales Condition
      • Block Tokens
      • NMKR Pay
        • Set up NMKR Pay
        • MultiSig Payment
        • Website Integration
        • Specific Payment Links
        • Manual sending in NMKR Pay
        • FIAT ETH and SOL Payment
      • Pay-In Address
      • Auction
    • Minting
      • Minting on Demand
      • Manual Minting
      • Airdropper
        • Airdrop with random distribution
        • Airdrop with specific distribution
    • Tools
      • Managed Wallets
      • Split Addresses
      • Direct Sales
      • Policy Snapshot
      • Integrations & Plugins
        • NFT Pal
        • Zapier
    • Testnet
      • Create Testnet Account
      • Testnet Wallet & tADA
      • Testnet API Swagger
  • NMKR Studio API
    • Introduction - NMKR Studio API
    • API Features
    • Swagger API Endpoints
    • Get started with the API
    • API Swagger
      • Get Started with the Swagger
      • Swagger Responses and Error Codes
    • API Examples
      • Users
        • Payout Wallets
        • Subcustomers
      • Project
        • Create Project
        • Upload File and Metadata
      • Payment
        • Create unique NMKR Pay Link for random Token sales
        • Create NMKR Pay Link for specific Token sales
        • Get Payment Address for single NFT sales with native Tokens
        • Create NMKR Pay Link for a multi-specific Tokens sale
      • Minting
        • Manual Minting
      • Smart Contract
        • Secondary Sales via NMKR Pay
    • API Open Source Contributions
  • NMKR Mint
    • Introduction - NMKR Mint
    • Mint single NFTs
    • Mint Collection
  • NMKR Playground
    • Introduction - NMKR Playground
    • ADA Payment Link
    • Paperwallet
  • NMKR Pool
    • What is Staking?
    • Stake with NMKR Pool
  • Helpful Links
    • Cardano NFT Ressources
    • Cardano Resources
    • Cardano Wallets
    • Open Source Repositories
    • Security Practices
    • Deal with Bots
Powered by GitBook
On this page
  • Why IPFS?
  • How does it work
  • The CID in the Metadata of an NFT
  1. Introduction
  2. What is an NFT?

What is IPFS?

What is IPFS and why do we use it for NFTs

PreviousWhat is an NFT?NextWhy Cardano?

InterPlanetary File System (IPFS) is a peer-to-peer protocol for storing and sharing data in a distributed file system. Currently, IPFS is the primary protocol for storing digital media, which many NFTs represent. In short, the NFT is on the blockchain and points to IPFS media files in it's metadata.

Why IPFS?

Minting Tokens as can be very complicated and is also limited by the maximum size of currently 16kb of a transaction. This is why the most common way to add media files to your tokens is to store them externally and link them in the metadata of the token. As IPFS stores the files in a distribution system and it has no file size limitation, it is the most practical solution to achieve that.

How does it work

Every file that is added to IPFS is assigned a unique address based on a hash of the file's content. This address is referred to as a Content Identifier (CID), and it combines the file's hash and a unique identifier for the hash algorithm used into a single string. As a result, if you upload the same exact file again, it will always receive the same IPFS hash / CID. This means that even if the third party you used to upload your tokens no longer supports your files and "deletes" them, you can reupload the files on your own and the NFT will now correctly fetch the media files.

At NMKR Studio, we are uploading and pinning the media files with our own bare metal servers. If you decide to upload the media files on your own to IPFS, you can also

The CID in the Metadata of an NFT

As an example we want to show you how the IPFS will be used with your metadata.A CID / IPFS hash of an uploaded file will look something like the following string.

QmQ878cbFuPj9GWij1KXowcQP6RY1kHQm3Y6dkAe4VPaRz

The metadata of your token now contains a field that links this hash to your NFT, makes it viewable on explorers, in wallets and DApps.

"src": "ipfs://QmSz8jA6LfU6NSSaobybvzsobbuaQwVBZ8CCBe2hmpfFDg",

As IPFS does not make any differentiation of the file formats, your metadata also contains a field that identifies the media file in the correct format.

"mediaType": "image/jpeg",
Fully-On-Chain NFTs
metadata
use the hashes and insert them to your metadata
.