Building blocks
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.
- 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.
Resource | Ethereum | 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 |
Wallet Interaction Library | web3.js | Flow Client Library (FCL) |
Blockchain Interaction SDK | web3.js | Language Clients |
Block Explorer | Etherscan | Block Explorers |
Node Service Providers | Infura | Official Flow Access Nodes |
Wallets | Metamask, WalletConnect | Blocto, Dapper Wallet |