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
Web3 技術のリアリティ(デモンストレーション) / The Reality of Web3...
Search
Kenji Saito
PRO
June 16, 2023
Technology
0
78
Web3 技術のリアリティ(デモンストレーション) / The Reality of Web3 Technology (Demonstration)
2023年6月16日(金)、幕張メッセで開催された Interop Tokyo 2023 カンファレンスでの講演に使用したスライドです。
Kenji Saito
PRO
June 16, 2023
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
24
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
69
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
30
git と GitHub / git and GitHub
ks91
PRO
0
29
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
39
インターネットの特徴 / Features of the Internet
ks91
PRO
0
26
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
27
暗号学的ハッシュ関数 / Cryptographic Hash Function
ks91
PRO
0
33
デジタル署名 / Digital Signature
ks91
PRO
0
28
Other Decks in Technology
See All in Technology
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1.1k
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
210
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
2
340
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
480
AIのAIによるAIのための出力評価と改善
chocoyama
0
510
Wasm元年
askua
0
100
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.3k
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
29
9.5k
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
820
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
160
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
240
初めてのAzure FunctionsをClaude Codeで作ってみた / My first Azure Functions using Claude Code
hideakiaoyagi
1
190
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
How to Ace a Technical Interview
jacobian
277
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Six Lessons from altMBA
skipperchong
28
3.8k
Scaling GitHub
holman
459
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Faster Mobile Websites
deanohume
307
31k
Transcript
Web3 ( ) Web3 — 2023-06-16 – p.1/22
Web3 Web 3.0 World Wide Web Web 2.0 “web3.py” Python
Ethereum NFT( ) Web3 Web3 — 2023-06-16 – p.2/22
Web3 Web3 Web3 — 2023-06-16 – p.3/22
Web 1-2-3 ͍ΘΏΔ 8FC 8FC ͷۚ༥Խ Ϣʔβ͕ࣗʮ؆୯ʹʯσʔλͷੜ࢈ऀʹ ͏ͻͱͭ ͷࢭ༲ ࢭ༲
4FNBOUJD8FC l8FCzॳग़ 8FC ˠ8FC 8FC ৫ʹ ཧͤͣ͞ɺ σʔλΛϢʔβͷ खʹऔΓͦ͏ ͯ͢ͷ ͯ͢Λ ۚ༥τʔΫϯԽͯ͠ ղܾ͠Α͏ #FSOFST-FF ͷ #FSOFST-FF ͷ 0` 3FJMMZ ͷ 8PPE ͷ #JUDPJO ε ϊ ồ σ ϯ ࣄ ݅ Ϧ ồ Ϛ ϯ ɾ γ ἀ ỽ Ϋ Π ϯ λ ồ ω ỽ τ ༻ Խ &UIFSFVN 4PMJE ϓϩδΣΫτ Ϣʔβࣗͱ ެӹͷͨΊʹ σʔλࣗ༝ʹ ׆༻Ͱ͖͍ͯΔ͔ʁ Web3 — 2023-06-16 – p.4/22
Web 3.0 Web3 Web 1.0 (Berners-Lee) : Read × Write
→ Web 2.0 (O’Reilly) : Read × Write ← (Web 1.0 ) Web 3.0 (Berners-Lee) → Solid (Social linked data) Web 3.0 → Web3 (Wood) Ethereum ← web3.js, web3.py Web3 (Dixon) : Read × Write × Own (Bloomberg) Web3 — 2023-06-16 – p.5/22
python 3.10.7 solc 0.8.19 ( ) (Solidity ( ) )
node v20.2.0 ganache v7.8.0 (Ethereum RPC + ) eth-brownie 1.19.3 (Python Ethereum ) web3 5.31.3 (Python Ethereum ) py-solc-x 1.1.1 (Solidity Python + ) macOS Monterey 12.6.6 Web3 — 2023-06-16 – p.6/22
Python3 eth-brownie . . . $ python3 -m venv demoenv
$ source demoenv/bin/activate $ pip install -U pip $ pip install wheel $ pip install eth-brownie web3.py Web3 — 2023-06-16 – p.7/22
Ethereum Python NFT Web3 — 2023-06-16 – p.8/22
: Bitcoin . . . : ( : ) (
) : : : ⇒ Web3 — 2023-06-16 – p.9/22
Ethereum ߹ҙ͞Εͨཤྺ ϩʔΧϧʹෳΛҡ࣋
ϒϩοΫ εϩοτ ඵִؒ εϩοτͰ ΤϙοΫ ҉߸ֶతμΠδΣετ ϒϩοΫνΣʔϯͷҡ࣋ࢀՃऀ͕ϩʔΧϧʹཧ͢Δσʔλۭؒ ࣌ؒ ΑΓ৽͍͠ه ΦϒδΣΫτ τʔΫϯγεςϜͷεϚʔτίϯτϥΫτ ֤Ϣʔβͷ ߴͷঢ়ଶ ঢ়ଶ` ঢ়ଶ`` τϥϯβΫγϣϯ ΦϒδΣΫτͷੜ ·ͨঢ়ଶભҠͷࢦࣔ ແޮͳཤྺ ω ỽ τ ϫ ồ Ϋ Λ ௨ ͠ ͯ ૹ ड ৴ ͞ Ε Δ ϩ ồ Χ ϧ ʹ ࣋ ͭ ܨ͙ͨΊʹ&5) Ͱͷσϙδοτͱ σϙδοτ૯ֹͷ ♤ ૬ͷϢʔβʹΑΔ ΤϙοΫͷূݴ͕ඞཁ શΦϒδΣΫτͷભҠޙͷঢ়ଶ ͕ϋογϡ˞ʹू͞Ε ͦͷ ϧʔτ͕ϒϩοΫʹॻ͔ΕΔ ঢ়ଶભҠ ˞ϋογϡσʔλ܈ͷ҉߸ֶతμΠδΣετ ϋογϡ ɹΛߏʹදݱͨ͠ͷͰ ෆ߹ͷݕग़ʹ༻͍ΒΕΔ . . . ETH ETH Web3 — 2023-06-16 – p.10/22
Ethereum Ethereum $ brownie console # eth-brownie (Python ) #
↓ Python >>> network.disconnect() # ( ) >>> network.connect(’mainnet’) # Ethereum >>> web3.eth.block_number # >>> web3.eth.get_block( ) # >>> web3.eth.get_block( ).get(’timestamp’) # >>> import datetime >>> dt = datetime.datetime.fromtimestamp( ) >>> print(dt) # Web3 — 2023-06-16 – p.11/22
&UIFSFVNωοτϫʔΫ &7. &0" &5) ߴ &5) (BT εϚʔτ ίϯτϥΫτ
ϝοηʔδʹΑΔ ݺͼग़͠ τϥϯβ Ϋγϣϯ ॺ໊ͯ͠ ೖ ϒϩοΫʹ ΈࠐΈˠ όϦσʔλ Ϣʔβ ॲ ཧ ˞(BT ܭࢉࢿݯͷྔΛද͢ ˞(BT ༻ྉΛ &5) Ͱࢧ͏Ϣʔβ͕τϥϯβΫγϣϯΛೖ͠ͳ͍ݶΓ ɹεϚʔτίϯτϥΫτಈ࡞͠ͳ͍ . . . Ethereum (EVM) ETH ↑ DAO Web3 — 2023-06-16 – p.12/22
$ brownie bake nft nft ( ) contracts SimpleCollectible.sol ERC-721
NFT $ cd nft # nft $ brownie console # eth-brownie (Python ) >>> network.disconnect() # >>> network.connect(’goerli’) # Ethereum >>> accounts.add( ) # >>> collectible = SimpleCollectible.deploy({’from’: accounts[0]}) # NFT 1,834,415 Gas Web3 — 2023-06-16 – p.13/22
NFT (Non-Fungible Token) 1 → ( ) → ( )
( ) ( ) NFT NFT Web3 — 2023-06-16 – p.14/22
ERC-721 NFT τʔΫϯ *% ൪߸ 63- ΞυϨε 63- /'5 Ұҙ
Ұҙʁ Ұҙʁ Ұҙ ࣄ্࣮ Ұҙ ެ։伴ͷ μΠδΣετ ϝλσʔλ ίϯτϥΫτͱ͍͏ఆٛҬ ˞ͦͷίϯτϥΫτͱ͍͏ఆٛҬͷதͰ ࣮ઢҹͰࣔͨ͠ҰҙੑΛอূ͢Δʹա͗ͳ͍ ˞ഁઢҹͰࣔͨ͠Ұҙੑ ࣮ɾӡ༻ͷ࣍ୈͰอূͰ͖Δ ɹྫ͑ 63- ʹͦΕ͕ࢦ͢Ϧιʔεͷ҉߸ֶతμΠδΣετΛؚΊΔ͜ͱ ྫ *1'4 ͷར༻ ʹΑΓ ɹ ʮ63-ˠσʔλʯͷҰҙੑΛอͯΔ ͦͷ߹Ͱʮσʔλˠ63-ʯͷҰҙੑແ͍ ରσʔλ ը૾ ॴ༗ऀ ϝλσʔλ 63- ରσʔλ 63- ൿີ伴 Ұҙ Ұҙʁ Ϣʔβ Ұҙʁ Web3 — 2023-06-16 – p.15/22
NFT URL NFT >>> collectible.createCollectible( URL) # NFT URL NFT
NFT >>> network.disconnect() # >>> network.connect(’mainnet’) # Ethereum >>> collectible = SimpleCollectible.at(’ ’) # >>> collectible.ownerOf(OpenSea NFT ID) # >>> collectible.tokenURI(OpenSea NFT ID) # Web3 — 2023-06-16 – p.16/22
NFT σʔλ " ϒϩοΫνΣʔϯ #⒩ ʜ ʜ ϒϩοΫνΣʔϯ #⒪ ʜ
ʜ εϚʔτίϯτϥΫτ $⒩ εϚʔτίϯτϥΫτ $⒪ ಛఆͷετϨʔδ ˞Ͳ͜ʹஔ͔ΕΑ͏ͱ ɹ͍͠σʔλಉ͡ͷ ϒϩοΫνΣʔϯ͕ಉ͡Ͱҟͳͬͯ ͍ͯ εϚʔτίϯτϥΫτ͕ҟͳ ΔΠϯελϯεͳΒఆٛҬผͱͳΔ ଟ͘ͷ߹ ې͡ΒΕͳ͍ ېࢭͰ͖ͳ͍ ˞/'5 ͕σʔλΛࢦ͢ํࣜͱσʔλΛ֨ೲ͢Δํࣜ σʔλͷՄ༻ੑҟͳΔͱͯ͠ҰҙੑʹؔΘΔੑ࣭มΘΒͳ͍ ಉҰ εϚʔτίϯτϥΫτ $⒫ εϚʔτίϯτϥΫτ $⒬ /'5⒩ /'5⒪ /'5⒫ /'5⒬ /'5⒮ /'5⒭ σʔλ " ېͣΔΑ͏ͳ ઃܭίετߴ ېࢭͰ͖ͳ͍ Web3 — 2023-06-16 – p.17/22
NFT NFT NFT >>> collectible.ownerOf( NFT ID) # >>> collectible.ownerOf(
NFT ID) # NFT Ethereum Ethereum NFT NFT Ethereum Lazy Minting (?) ( ) (Gas ) Web3 — 2023-06-16 – p.18/22
DAO (Decentralized Autonomous Organization) Web3 — 2023-06-16 – p.19/22
DAO ෦ࢿຊˢ͋Δ ɹɹɹɹˣͳ͍ தԝʹࣗಈ ɹɹɹɹɹWT ɹɹɹɹɹɹதԝʹਓؒ શͳ "* σʔϞϯ˞ ϑΥʔϥϜ˞
XFC αʔϏε ϩϘοτΛ %"0 %"QQ˞ ݹయత৫ ɹɹɹɹɹपลʹਓؒ ɹɹɹɹWT पลʹࣗಈ ˞%"QQεϚʔτίϯτϥΫτʹΑΔΞϓϦέʔγϣϯ %FDFOUSBMJ[FE"QQ ˞ϑΥʔϥϜਓʑ͕ಛఆͷʹ͍ͭͯٞͨ͠ΓใΛަͨ͠Γ͢Δ ˞σʔϞϯόοΫάϥϯυͰՔಇ͠ ΠϕϯτʹࣗಈతʹରԠ͢ΔϓϩάϥϜ . . . Buterin DAO (2014) Web3 — 2023-06-16 – p.20/22
DAO Bitcoin DAO → DAO Ethereum DAO → . .
. DAO ( ) ( ) DAO → . . . ( ) ↑ ( ) ← Web3 — 2023-06-16 – p.21/22
( . . . ) · DAO Web 2.0 .
. . Web3 — 2023-06-16 – p.22/22