Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
500
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
発表と総括 / Presentations and Summary
ks91
PRO
0
1
マーケティングとイノベーション / Marketing and Innovation
ks91
PRO
0
11
ブロックチェーンとこれからの金融システム / Blockchain and the Future of Financial Systems
ks91
PRO
0
32
デザイン相談会 / Design Consultation
ks91
PRO
0
16
マーケティング / Marketing
ks91
PRO
0
10
イノベーション / Innovation
ks91
PRO
0
15
ミッション / Mission
ks91
PRO
0
20
リーダーシップ / Leadership
ks91
PRO
0
19
ミッションとリーダーシップ / Mission and Leadership
ks91
PRO
0
37
Other Decks in Technology
See All in Technology
Bakuraku Engineering Team Deck
layerx
PRO
11
5.8k
Security Diaries of an Open Source IAM
ahus1
0
120
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
600
AI駆動開発によるDDDの実践
dip_tech
PRO
0
290
Master Dataグループ紹介資料
sansan33
PRO
1
4k
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
140
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
0
120
Agents IA : la nouvelle frontière des LLMs (Tech.Rocks Summit 2025)
glaforge
0
410
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
37k
MCP・A2A概要 〜Google Cloudで構築するなら〜
shukob
0
160
AI 時代のデータ戦略
na0
8
3.3k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
5.7k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing for humans not robots
tammielis
254
26k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Being A Developer After 40
akosma
91
590k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
How GitHub (no longer) Works
holman
316
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
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