NFT Technical Guide
NFT Technical Guide
By Walid KHEMIRI
Plan
01 Non-fungible tokens(NFTs)
2
Non-fungible
tokens(NFTs)
Blockchain
4
Smart contract
5
Token
- Used to represent value in our digital world using Blockchain and smart contract.
- It is a new way to create, store and transfer values in our digital world on the internet via
decentralized, transparent, P2P, without an intermediary, low cost, and instant manner.
-They programmed using a smart contract
6
Token and smart contract
movements
7
Token and smart contract
movements
8
Non-fungible tokens(NFTs)
What is Fungibility?
- “Fungibility” refers to the interchangeability of
the asset.
- Fungible is the property of being exchangeable
for other assets of the same kind without any
change in value or usability.
- Non-fungible things, are not interchangeable
with one another and have unique properties
that can make them radically different from one
another, even though they may look similar.
9
Non-fungible tokens(NFTs)
- NFTs can take the form of a digital work, a virtual land, a domain
name.
10
Non-fungible tokens(NFTs)
Mainly, NFTs are composed of two distinct parts: Token and Metadata. Each token is linked to an account as well as to metadata
(describe the asset which the token represents).
In the NFTs space, the metadata is the actual content and the description of what the token represents. This is what gives
meaning to an NFT.
In an NFT, the metadata is pointed to uniform resource identifier (URI) referenced in the token.
1 0x6E7448a6335d5C947953994d071D4Dc1F6e5BE96
2 0xEA9Eb93E5dca67f5BFc00e8B82b4FdfbB6B838e6
TOKEN ID METADATA(URI)
1 ipfs://bafyreicioolpq7rcevvruaxte2jb3h4mmyz3px2ytzohbo5a3zum
2 ipfs://QmTy8w65yBXgyfG2ZBg5TrfB2hPjrDQH3RCQFJGkARStJb
11
NFTs use cases
Event
Digital Art Gaming etc …
ticketing
12
NFTs as new digital
primitive
- You can represent anything unique using an NFT in our digital world.
13
NFTs features
13
NFTs project
steps
Technical Steps
NFTs project
01 02 03 04
Pick a
blockchain
07 06 05
15
16
How can I choose a suitable
Blockchain?
01 Blockchain
ecosystem
maturity
17
Blockchain ecosystem
maturity
Number of
Active address developers
count
Documentation
Libraries and
frameworks
Tools
forums
feedbacks
18
How can I choose the suitable
Blockchain ?
01 Blockchain
ecosystem
02 Project funding:
Grant program
maturity
19
Grant program
2
0
1
3
20
How can I choose the suitable
Blockchain ?
01 Blockchain
ecosystem
02 Project funding:
Grant program
maturity
03 Blockchain
Trilemma
21
Blockchain Trilemma
- Blockchains are often forced to make trade-offs that prevent them from
achieving 3 aspects (Different priorities, result in different design tradeoffs):
22
How can I choose the suitable
Blockchain ?
01 Blockchain
ecosystem
02 Project funding:
Grant program
maturity
03 Blockchain
Trilemma
04 Transaction
fees and
transactions
throughput
23
Transaction fees and
transactions throughput
2
0
1
3
24
Layer-2 Scaling/
Sidechains
- If high throughput/lower gas fees are a critical point for the success of your NFTs
project. So, Layer-2 is a good choice.
- L2 is a rich ecosystem. There are multiple types of L2 projects which are based
on different technologies:
- Optimistic rollups: Arbitrum, Optimism, and Boba Network
- Zero-knowledge rollups: Polygon Hermez, zkSync, STARKNET, Aztec
- State channel: Connext, Kchannels, and Perun, The Raiden Network
- Plasma: pg, Ploygon
- Validium: DeversiFi, Immutable X
25
Technical Steps
NFTs project
01 02 03 04
Pick a NFT Standard
blockchain
07 06 05
26
NFTs standards
Blockchain Standards
27
Ethereum NFTs standards
ERC721 ERC1155
https://eips.ethereum.org/EIPS/eip-721
https://eips.ethereum.org/EIPS/eip-1155
28
Technical Steps
NFTs project
01 02 03 04
Pick a NFT Standard Metadata:
blockchain Storage type
07 06 05
29
NFTs Metadata
30
NFTs Marketplace: OpenSea
NFT’s name
Description of the NFT
Link to the hosted image
Traits
…
https://docs.opensea.io/docs/
metadata-standards
31
Metadata storage type
- Metadata can be stored on-chain or off-chain using decentralized storage systems like IPFS or even private storage. However, in order to
reliably model ownership of assets, metadata (or at least a hash) should be stored on-chain so that it cannot be tampered with.
- This URI could point to a website maintained by the NFT creator or a third party, an IPFS address, or other data location that the NFT app
can resolve.
- Image can be stored on-chain using SVG format.
32
IPFS: InterPlanetary File System
33
IPFS: InterPlanetary File System
34
Other aspects
- etc
35
Technical Steps
NFTs project
Implementation/
01 02 03 04 Test
Pick a NFT Standard Metadata:
blockchain Storage type
07 06 05
36
EVM compatible chains
Hardhat
- With hardhat:
4- Run tests
37
EVM compatible chains
OpenZeppelin
- Features:
38
EVM compatible chains
Ether.js/Web3.js
39
Multi-Chains
Alchemy Moralis
40
Multi-Chains
- Chainlink provide tamper-proof inputs, outputs, and - The Graph is the indexing and query layer of the
computations to support advanced smart contracts on decentralized web
any blockchain:
- Chainlink Verifiable Random Function (VRF)
- Chainlink Data Feeds
- Chainlink Keepers
- Call External APIs
41
Technical Steps
NFTs project
Implementation/
01 02 03 04 Test
Pick a NFT Standard Metadata:
blockchain Storage type
Smart
07 06 05 contract
auditing
42
Technical Steps
NFTs project
Implementation/
01 02 03 04 Test
Pick a NFT Standard Metadata:
blockchain Storage type
Smart
08 07 06 05 contract
auditing
Smart
contract
deployment
43
Technical Steps
NFTs project
Implementation/
01 02 03 04 Test
Pick a NFT Standard Metadata:
blockchain Storage type
Smart
07 06 05 contract
auditing
Mint new Smart
tokens contract
deployment
44
Thank You