SlideShare a Scribd company logo
Building NFTs with
IPFS and Filecoin
FILECOIN CLUB
Yusef Napora
Engineer & Technical
Writer
Build smart contracts
for unique
non-fungible tokens
Using IPFS
content addressing
for durable links
With provable
long-term storage
on Filecoin
Goal: learn how NFTs
work, so we can build
digital artifacts that
last
Introduction
Contracts
Storage
Development
Introduction
How does an NFT
contract work?
Introduction
Contracts
Storage
Development
Introduction
What is an NFT,
anyway?
Introduction
Contracts
Storage
Development
Introduction
How to store NFT data
Introduction
Introduction
Contracts
Storage
Development
Developing applications
for NFTs
Introduction
Introduction
Contracts
Storage
Development
Contracts
Contracts
Storage
Development
Introduction
Contracts
Storage
Development
Introduction
How does a smart contract
work?
● Contract developer writes Solidity code (or Vyper, etc)
● Compiles to bytecode for the Ethereum Virtual Machine
● Contract is deployed in a transaction
● Once a contract is deployed, you can call its functions
● Read-only functions are “free” and fast
● Modifying state costs gas and happens asynchronously
Contract basics
Contracts
Storage
Development
Introduction
What is an NFT, when you
get right down to it?
• Has a unique identity on a blockchain smart contract
• Can be owned and transferred to a new owner
• Can generally store a small amount of data on-chain
• Can link to external (off-chain) data using a URI
Key Properties
Standards
● First formal NFT standard
● Evolution of CryptoPunks & other early NFT projects
● Defines ownership mechanics
● Allows each token to have a unique metadata URI
● Defines a basic “baseline” metadata schema
ERC-721
Standards
● “Multi-token” standard
● Allows many token types to share one contract
● Supports efficient batch transfers
● Tokens can be fungible, non-fungible, or
“semi-fungible”
● Made for gaming use case, but not gaming
specific
ERC-1155
Coding Challenge #1
Deploy an NFT contract to a local blockchain
Resources:
hardhat.org/getting-started
openzeppelin.com/contracts/4.x/erc721
docs.ipfs.io/how-to/mint-nfts-with-ipfs
Deploy an NFT
Smart Contract
Coding Challenge #1:
Coding Challenge #2
Mint an NFT by calling the contract
> const cid = ‘bafybeieeomufuwkwf7sbhyo7yiifaiknm7cht5tc3vakn25vbvazyasp3u’
> const tx = await gameItem.awardItem(player, `ipfs://${cid}`)
> await tx.wait()
> const uri = await gameItem.tokenURI(1)
> uri
“ipfs://bafybeieeomufuwkwf7sbhyo7yiifaiknm7cht5tc3vakn25vbvazyasp3u”
Call a function, mint an NFT
Coding Challenge #2:
Calling contracts with ethers.js:
docs.ethers.io/v5/api/contract
Storage Introduction
Contracts
Storage
Development
PSA:
Friends don’t let friends
mint NFTs with HTTP links
● On-chain data storage is incredibly expensive
● Almost all NFTs contain links to off-chain data
● HTTP links are familiar and easy to use
● But, they’re super fragile!
● Data at the other end of the link can change or disappear
without any change to the NFT on-chain
Intro to NFTs
bafkreiem4...
❓bafkreiem4...
Intro to NFTs
Intro to NFTs
❓bafkreiem4...
❓bafkreiem4...
Intro to NFTs
Intro to NFTs
Intro to NFTs
Intro to NFTs
❓bafkreiem4...
❓bafkreiem4...
Caveat #1
Caveat #1
Caveat #2
Caveat #2
������
Caveat #2
📌 📌 📌
Intro to NFTs
Intro to NFTs
Intro to NFTs
Intro to NFTs
Intro to NFTs
Intro to NFTs
Intro to NFTs
Coding Challenge #3
Store NFT data with NFT.Storage
> const client = new NFTStorage({ token })
> const metadata = await client.store({
name: ‘Crypto Koala #123’,
description: ‘Eats shoots and leaves’,
image: new File([ imageData ], ‘koala-123.png’),
})
> metadata.url
“ipfs://bafybeieeomufuwkwf7sbhyo7yiifaiknm7cht5tc3vakn25vbvazyasp3u”
Store NFT data
Coding Challenge #3:
NFT.Storage client library docs:
ipfs-shipyard.github.io/nft.storage/client/
Development Introduction
Contracts
Storage
Development
Ethereum Dev Resources
Introduction
Contracts
Storage
Development
● github.com/austintgriffith/scaffold-eth
● buidlguidl.com
● ethereum.org/en/developers/docs
● github.com/gianni-dalerta/awesome-nft
● nftschool.dev
● use-nft.spectre.xyz
● NFTE.app
Introduction
Contracts
Storage
Development
Viewing NFTs
thegraph.com
Introduction
Contracts
Storage
Development
Indexing Events
● Contracts emit events when tokens are transferred, etc
● Scanning over historical events is possible, but slow
● The Graph provides decentralized indexing infrastructure
for Ethereum events
● Use GraphQL to query any Ethereum contract history
NFTs with IPFS & Filecoin
FILECOIN CLUB
YOU HAVE COMPLETED
That’s all, folks.
Thank you!

More Related Content

PDF
Encode Club -_Pinning_Services_-_aug_2021
PDF
Front-End Development for dApps on Tezos
PPTX
Ethereum Devcon1 Report (summary writing)
PPT
Ethereum introduction
PDF
Encode Club Hackathon
PPTX
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
PPTX
Ethereum Smart contract
PDF
Writing smart contracts
Encode Club -_Pinning_Services_-_aug_2021
Front-End Development for dApps on Tezos
Ethereum Devcon1 Report (summary writing)
Ethereum introduction
Encode Club Hackathon
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
Ethereum Smart contract
Writing smart contracts

What's hot (19)

PDF
Welcome to Ethereum
PDF
Interlay + Encode
PPTX
What is tezos
PPTX
Ethereum Intro
PDF
StarkNet JS
PPTX
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereum
PDF
Building Ðapps on the Ethereum Platform
PDF
Consensu, Security, and the Blockchain Gateway Interface - Ethan Buchman, Ten...
PDF
Introduction to Ethereum Blockchain & Smart Contract
PDF
Ethereum-Cryptocurrency (All about Ethereum)
PPTX
Web3 Full Stack Development
PDF
Technical Overview of Tezos
PDF
Building a dApp on Tezos
PPTX
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
PPTX
How to start a virtual nft platform like decentraland
PDF
Bitcoin and Ethereum
PPTX
Block chain
PPTX
Distributed Ledgers, Blockchains, and Smart Contracts
PDF
Ethereum Mining How To
Welcome to Ethereum
Interlay + Encode
What is tezos
Ethereum Intro
StarkNet JS
Dappsmedia smartcontract _write_smartcontracts_on_console_ethereum
Building Ðapps on the Ethereum Platform
Consensu, Security, and the Blockchain Gateway Interface - Ethan Buchman, Ten...
Introduction to Ethereum Blockchain & Smart Contract
Ethereum-Cryptocurrency (All about Ethereum)
Web3 Full Stack Development
Technical Overview of Tezos
Building a dApp on Tezos
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
How to start a virtual nft platform like decentraland
Bitcoin and Ethereum
Block chain
Distributed Ledgers, Blockchains, and Smart Contracts
Ethereum Mining How To
Ad

Similar to Intro to NFTs (20)

PDF
Introduction to Filecoin
PDF
NFT_technical_guide.pdf
PPTX
Introduction to IPFS & Filecoin
PDF
Introduction to IPFS & Filecoin - longer version
PPTX
6-ZeroLab_decentralized_applications-2008.pptx
PPTX
NFT_Meetup - iFour Technolab.pptx
PDF
The Non-Fungible Entertainment by Cosdec Alpha
PPTX
P09 | Anurag Gupta | Non-Fungible Token | MCA
PDF
Challenges of Implementing an NFT Marketplace
PDF
How To Mint An NFT?
PPTX
The Art of non-fungible tokens
PDF
Webinar: From Crypto Kitties to non fungible token to ERC721 standard - Stefa...
PDF
From Crypto Kitties to non fungible token to ERC721 standard
PPTX
Non-fungible tokens. From smart contract code to marketplace
PDF
Non Fungible Tokens (NFT) Yearly Report - 2018
PPTX
ERC-4907 Rentable NFT Standard.pptx
PDF
NFT.pdf
PPTX
Non-fungible tokens (nfts)
PPTX
Building a NFT Marketplace DApp
PPTX
IPFSNov5.pptx
Introduction to Filecoin
NFT_technical_guide.pdf
Introduction to IPFS & Filecoin
Introduction to IPFS & Filecoin - longer version
6-ZeroLab_decentralized_applications-2008.pptx
NFT_Meetup - iFour Technolab.pptx
The Non-Fungible Entertainment by Cosdec Alpha
P09 | Anurag Gupta | Non-Fungible Token | MCA
Challenges of Implementing an NFT Marketplace
How To Mint An NFT?
The Art of non-fungible tokens
Webinar: From Crypto Kitties to non fungible token to ERC721 standard - Stefa...
From Crypto Kitties to non fungible token to ERC721 standard
Non-fungible tokens. From smart contract code to marketplace
Non Fungible Tokens (NFT) Yearly Report - 2018
ERC-4907 Rentable NFT Standard.pptx
NFT.pdf
Non-fungible tokens (nfts)
Building a NFT Marketplace DApp
IPFSNov5.pptx
Ad

More from Vanessa Lošić (20)

PDF
Intro to DAOs
PDF
Hack DeFi Ideation
PDF
How fcm-works-v0.1 fc-club-22092021
PDF
Polkadot ideation
PDF
Encode polkadot club
PDF
PDF
Encode Club workshop slides
PDF
Encode polkadot hack intro event
PDF
PDF
Encode Polkadot Club
PDF
Subspace
PDF
Encode polkadot club event 3, technical deepdive
PDF
Encode club introduction_to_libp2p
PDF
Encode polkadot club event 2, intro to polkadot
PDF
Hack africa workshop_2_part_one_chilli_chelli
PDF
Encode polkadot club intro presentation
PDF
How to start developing on stellar
PDF
Encode filecoin club intro presentation
PDF
Intro africahackpart2
PDF
Grip pitch avalanche_final-converted
Intro to DAOs
Hack DeFi Ideation
How fcm-works-v0.1 fc-club-22092021
Polkadot ideation
Encode polkadot club
Encode Club workshop slides
Encode polkadot hack intro event
Encode Polkadot Club
Subspace
Encode polkadot club event 3, technical deepdive
Encode club introduction_to_libp2p
Encode polkadot club event 2, intro to polkadot
Hack africa workshop_2_part_one_chilli_chelli
Encode polkadot club intro presentation
How to start developing on stellar
Encode filecoin club intro presentation
Intro africahackpart2
Grip pitch avalanche_final-converted

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
sap open course for s4hana steps from ECC to s4
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Network Security Unit 5.pdf for BCA BBA.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Programs and apps: productivity, graphics, security and other tools
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
sap open course for s4hana steps from ECC to s4
The AUB Centre for AI in Media Proposal.docx
Network Security Unit 5.pdf for BCA BBA.

Intro to NFTs