Building blocks

Learn about the key components of NFT marketplaces

Following are the basic building blocks for any NFT marketplace solution on the Flow blockchain. Throughout the guide, these will be referred to.

  • NFT Standard: Every NFT minted on Flow should follow this standard.
  • Fungible Token Standard: All fungible tokens on Flow follow this standard. NFTs purchased on an NFT marketplace will be paid for using a fungible token in many scenarios.
  • FLOW Token: Native currency of the Flow blockchain used to pay for the transaction fees. NFT buyers can use FLOW tokens to buy NFTs in a marketplace.
  • FUSD Stable Coin: Fungible token on the Flow blockchain pegged to USD. NFT buyers can also use FUSD tokens to buy NFTs in a marketplace.
  • NFT Metadata Standard: A generalized framework for NFTs on Flow to expose their metadata. The framework described already has a mechanism specified to render the basic representation of an NFT.
  • Flow NFT Catalog: NFT marketplaces can use this on-chain registry of NFTs to obtain the list of NFTs owned by an account and obtain display metadata for those NFTs and their collections. Developers should use the example scripts in conjunction with the NFT Metadata Standard.
  • NFT Storefront Contract: ​​Contract used by almost all Flow NFT marketplaces for creating NFT sale listings. Note that you can directly use the version of this contract already deployed on the Mainnet.
  • FCL (Flow Client Library): This library is like web3.js in Ethereum. Application frontend will use FCL to interact with user wallets and the blockchain. JS-based backends of applications can also use it to interact with the blockchain.
  • Flow SDKs: Multiple SDKs are available in different programming languages (Go, Java) for Flow application backends to interact with the blockchain.

Coming from Ethereum

If you are coming from Ethereum, the following list shows corresponding modules and services available on Flow.

Smart Contract Programming LanguageSolidityCadence
Fungible Token StandardERC-20Flow Fungible Token Standard
NFT StandardERC-721/ERC-1155Flow NFT Token Standard
NFT Metadata StandardERC-721Flow NFT Metadata Standard
Native Crypto CurrencyETHFLOW
Wallet Interaction Libraryweb3.jsFlow Client Library (FCL)
Blockchain Interaction SDKweb3.jsFlow Client Library (FCL), Flow Go SDK, and many others
Block ExplorerEtherscanFlowscan
Node Service ProvidersInfuraOfficial Flow Access Nodes
WalletsMetamask, WalletConnectBlocto, Dapper Wallet