Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NFT (非代替性トークン) のリアリティ / Reality of Non-Fungible...
Search
Kenji Saito
PRO
April 21, 2022
Technology
0
490
NFT (非代替性トークン) のリアリティ / Reality of Non-Fungible Tokens
2022年4月21日(木)、自律分散社会フォーラム (DASF) の定例会にて使用したスライドです。
Kenji Saito
PRO
April 21, 2022
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
15
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
20
git と GitHub / git and GitHub
ks91
PRO
0
23
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
29
インターネットの特徴 / Features of the Internet
ks91
PRO
0
13
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
15
暗号学的ハッシュ関数 / Cryptographic Hash Function
ks91
PRO
0
21
デジタル署名 / Digital Signature
ks91
PRO
0
14
Web3 のリアリティ / Web3 Reality
ks91
PRO
0
99
Other Decks in Technology
See All in Technology
マルチテナント+マルチプロダクト SaaS への AI Agent の組み込み方
kworkdev
PRO
2
310
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
390
AWS全冠したので振りかえってみる
tajimon
0
130
型システムを知りたい人のための型検査器作成入門
mame
14
3.6k
Tenstorrent 開発者プログラム
tenstorrent_japan
0
300
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
290
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
190
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
120
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
130
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
280
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
150
Featured
See All Featured
Speed Design
sergeychernyshev
30
990
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
The Cult of Friendly URLs
andyhume
79
6.4k
Bash Introduction
62gerente
614
210k
Unsuck your backbone
ammeep
671
58k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
Practical Orchestrator
shlominoach
188
11k
Statistics for Hackers
jakevdp
799
220k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Music & Morning Musume
bryan
46
6.6k
Site-Speed That Sticks
csswizardry
10
630
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Transcript
NFT ( ) NFT ( ) — 2022-04-21 – p.1/17
https://speakerdeck.com/ks91 NFT ( ) — 2022-04-21 – p.2/17
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 21 P2P (Peer-to-Peer) 2011 2018 2019 VR 2021.7 VR 2021.8 “ALL THESE WORLDS ARE YOURS” VR 2021.9 & VR 2021.12 VR 2022.3 ( (VR) ) → ( ) NFT ( ) — 2022-04-21 – p.3/17
NFT DeFi ( ) NFT ( ) — 2022-04-21 –
p.4/17
( ) = = : . . . ( :
) ( ) . . . . . . . . . . . . NFT ( ) — 2022-04-21 – p.5/17
⇒ ( ) . . . . . . NFT
( ) — 2022-04-21 – p.6/17
DeFi ( ) DeFi : Decentralized Finance NFT ( )
— 2022-04-21 – p.7/17
NFT ( ) NFT : Non-Fungible Token ( ) (1
) → fungible token ( ) → NFT NFT ( ) — 2022-04-21 – p.8/17
ERC-721 ERC (Ethereum Request for Comments) 721 (721 ) https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
interface ERC721 { function balanceOf(address _owner) external view returns (uint256); function ownerOf(uint256 _tokenId) external view returns (address); function safeTransferFrom(address _from, address _to, uint256 _tokenId, . . .) external payable; : } interface ERC721TokenReceiver { function onERC721Received(.. ., uint256 _tokenId, . . .) external returns(bytes4); } interface ERC721Metadata { function name() external view returns (string _name); function symbol() external view returns (string _symbol); function tokenURI(uint256 _tokenId) external view returns (string); } tokenURI URL ( ) ( ) NFT ( ) — 2022-04-21 – p.9/17
NFT NFT URL Marlinspike, M.: My first impressions of web3
(2022) Web3 . . . URL ↑ NFT → → NFT NFT ↔ NFT NFT ( ) — 2022-04-21 – p.10/17
NFT Linux (Ubuntu 20.04.4) Python3 + eth-brownie 1.18.1 (Python Ethereum
) $ brownie bake nft nft ( ) contracts SimpleCollectible.sol ERC-721 NFT ( ) — 2022-04-21 – p.11/17
NFT (1) NFT NFT $ cd nft # nft $
brownie console # eth-brownie (Python ) # ↓ Python >>> network.disconnect() # ( ) >>> network.connect(’mainnet’) # Ethereum >>> collectible = SimpleCollectible.at(’ ’) # >>> collectible.ownerOf(OpenSea NFT ID) # >>> collectible.tokenURI(OpenSea NFT ID) # URL URL URL ( ) NFT ( ) — 2022-04-21 – p.12/17
NFT (2) NFT(?) NFT >>> collectible.ownerOf( NFT ID) # >>>
collectible.ownerOf( NFT ID) # NFT Ethereum Ethereum NFT NFT Ethereum Lazy Minting (?) ( ) ( ) NFT NFT ( ) — 2022-04-21 – p.13/17
NFT < , ID> ERC-721 OK NFT . . .
ID → NFT ID NFT NFT URL . . . URL . . . →NFT NFT ( ) — 2022-04-21 – p.14/17
NFT NFT . . . NFT ( ) ↑ ID
. . . NFT ( ) — 2022-04-21 – p.15/17
NFT NFT >>> network.disconnect() # >>> network.connect(’ropsten’) # Ethereum >>>
accounts.add( ) # >>> collectible = SimpleCollectible.deploy({’from’: accounts[0]}) # NFT >>> collectible.createCollectible( ) # NFT ropsten / ( ) “Gas used” Gas Gwei ERC-721a ID 1 NFT ( ) — 2022-04-21 – p.16/17
ERC-721 NFT NFT (ID) NFT → URI NFT (ID) URI
→ NFT ( ) URI → ( ) → ( ) NFT NFT NFT NFT ( ) — 2022-04-21 – p.17/17