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.
- Alchemy NFT API: NFT marketplaces can use this API from Alchemy to obtain the list of NFTs owned by an account and obtain display metadata for those NFTs. Developers should use this API 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.
If you are coming from Ethereum, the following list shows corresponding modules and services available on Flow.
|Smart Contract Programming Language||Solidity||Cadence|
|Fungible Token Standard||ERC-20||Flow Fungible Token Standard|
|NFT Standard||ERC-721/ERC-1155||Flow NFT Token Standard|
|NFT Metadata Standard||ERC-721||Flow NFT Metadata Standard|
|Native Crypto Currency||ETH||FLOW|
|Stablecoins||USDC/DAI/USDT||FUSD, tUSDT, USDC|
|Wallet Interaction Library||web3.js||Flow Client Library (FCL)|
|Blockchain Interaction SDK||web3.js||Flow Client Library (FCL), Flow Go SDK, and many others|
|Node Service Providers||Infura||Official Flow Access Nodes, Alchemy|
|Wallets||Metamask, WalletConnect||Blocto, Dapper Wallet|