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
480
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
市民科学にAI はどう活用できるか / How AI Can Be Used for Citizen Science
ks91
PRO
0
11
グリーンマイニングが Bitcoin プロトコルに及ぼす影響 / Impact of Green Mining on the Bitcoin Protocol
ks91
PRO
0
18
FinTech 13-14 : Ideathon, Presentations and Conclusions
ks91
PRO
0
55
デザイン相談会 / Design Consultation
ks91
PRO
0
13
FinTech 11-12 : Cyber-Physical Society and Future of Finance
ks91
PRO
0
52
メタ自然選択と製品トレーサビリティー / Meta-Natural Selection and Product Traceability
ks91
PRO
0
8
伝統的金融に呑まれる分散型金融 / Decentralised Finance Engulfed by Traditional Finance
ks91
PRO
0
15
ウェブサービスデザイン 2 / Web Service Design 2
ks91
PRO
0
25
生成AI による論文執筆サポートの手引き(ワークショップ) / A guide to supporting dissertation writing with generative AI (workshop)
ks91
PRO
0
250
Other Decks in Technology
See All in Technology
AGIについてChatGPTに聞いてみた
blueb
0
130
The Rise of LLMOps
asei
9
1.8k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
1
120
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
180
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
400
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
260
TypeScript、上達の瞬間
sadnessojisan
48
14k
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
110
複雑なState管理からの脱却
sansantech
PRO
1
160
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
210
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
50
7.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Agile that works and the tools we love
rasmusluckow
327
21k
Statistics for Hackers
jakevdp
796
220k
The Cult of Friendly URLs
andyhume
78
6k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Optimizing for Happiness
mojombo
376
70k
Typedesign – Prime Four
hannesfritz
40
2.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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