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
Ethereum 演習III / Ethereum Exercise III
Search
Kenji Saito
PRO
April 26, 2023
Technology
0
89
Ethereum 演習III / Ethereum Exercise III
2023年4月26日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミーにて使用したスライドです。
Kenji Saito
PRO
April 26, 2023
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトデザイン / Smart Contract Design
ks91
PRO
0
11
スペースデブリに係る経済活動のシリアスゲームによるシミュレーション / Simulation of economic activities related to space debris using a serious game
ks91
PRO
0
5
Meta-Nature : A Probable Shift of the Paradigm
ks91
PRO
0
10
FinTech 7-8 : Blockchain
ks91
PRO
0
43
スマートコントラクトプログラミング / Smart Contract Programming
ks91
PRO
0
19
パット(PAT) : 論文アシスタント(Paper Authoring Tutor) 研究者’s マニュアル / PAT : Paper Authoring Tutor - Researcher's Manual
ks91
PRO
0
7
FinTech 5-6 : The World of Apps
ks91
PRO
0
46
ブロックチェーン概論とインストール大会 / Blockchain Overview and Installation
ks91
PRO
0
18
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
75
Other Decks in Technology
See All in Technology
Nix入門パラダイム編
asa1984
1
160
なんで、私がAWS Heroに!? 〜社外の広い世界に一歩踏み出そう〜
minorun365
PRO
1
540
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
160
[PyCon Korea 2024] Lightning Talk: PyPI패키지를 의심하세요
studioego
PRO
0
130
クラシルの現在とこれから
am1157154
1
340
Vueで Webコンポーネントを作って Reactで使う / 20241030-cloudsign-vuefes_after_night
bengo4com
3
180
失敗しないOpenJDKの非互換調査
tabatad
0
230
内製化によるシステムモダナイゼーションの実践
kazokmr
3
530
Mackerelが取り組むオブザーバビリティ - Mackerel Tech Day
mackerelio
0
330
EKS初心者が早めに知っておきたかったこと
cuorain
0
140
Java x Spring Boot Warm up
kazu_kichi_67
2
420
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
1
130
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
73
9k
Faster Mobile Websites
deanohume
304
30k
Typedesign – Prime Four
hannesfritz
39
2.4k
The Cost Of JavaScript in 2023
addyosmani
45
6.2k
For a Future-Friendly Web
brad_frost
174
9.4k
Designing for humans not robots
tammielis
249
25k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Code Reviewing Like a Champion
maltzj
519
39k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
We Have a Design System, Now What?
morganepeng
50
7.2k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Designing for Performance
lara
604
68k
Transcript
4 Ethereum III CSO /
[email protected]
— 4 Ethereum III
— 2023-04-26 – p.1/26
https://speakerdeck.com/ks91 — 4 Ethereum III — 2023-04-26 – p.2/26
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 22 P2P (Peer-to-Peer) 2011 ( ) 2018 2019 VR 2021.7 VR 2021.8 “ALL THESE WORLDS ARE YOURS” VR 2021.9 & VR 2022.3 2023 AI VR 2023.2-3 “POWER TO THE PEOPLE” → ( ) — 4 Ethereum III — 2023-04-26 – p.3/26
web3 4 web3 NFT (Non-Fungible Token) DAO (Decentralized Autonomous Organization)
— 4 Ethereum III — 2023-04-26 – p.4/26
1. NFT DAO 2. : NFT 3. : DAO 4.
— 4 Ethereum III — 2023-04-26 – p.5/26
NFT DAO DeFi ( ) — 4 Ethereum III —
2023-04-26 – p.6/26
( ) = = : . . . ( :
) ( ) . . . . . . . . . . . . — 4 Ethereum III — 2023-04-26 – p.7/26
⇒ ( ) . . . . . . —
4 Ethereum III — 2023-04-26 – p.8/26
DeFi ( ) DeFi : Decentralized Finace . . .
( ) DeFi DAO — 4 Ethereum III — 2023-04-26 – p.9/26
NFT ( ) NFT : Non-Fungible Token ( ) (1
) → fungible token ( ) → NFT — 4 Ethereum III — 2023-04-26 – p.10/26
ERC-721 ERC (Ethereum Request for Comments) 721 EIP (Ethereum Improvement
Proposal) 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 ( ) ( ) — 4 Ethereum III — 2023-04-26 – p.11/26
NFT NFT URL Marlinspike, M.: My first impressions of web3
(2022) Web3 . . . URL ↑ NFT → → NFT NFT ↔ NFT — 4 Ethereum III — 2023-04-26 – p.12/26
DAO ( ) DAO : Decentralized Autonomous Organization Vitalik Buterin
(Ethereum ) https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide/ (1) (2) ( ) (3) DAO . . . / — 4 Ethereum III — 2023-04-26 – p.13/26
: NFT — 4 Ethereum III — 2023-04-26 – p.14/26
NFT Linux (Ubuntu 22.04) Python3 + eth-brownie 1.19.3 (Python Ethereum
) $ brownie bake nft nft ( ) contracts SimpleCollectible.sol ERC-721 — 4 Ethereum III — 2023-04-26 – p.15/26
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 ( ) — 4 Ethereum III — 2023-04-26 – p.16/26
NFT (2) NFT(?) NFT >>> collectible.ownerOf( NFT ID) # >>>
collectible.ownerOf( NFT ID) # NFT Ethereum Ethereum NFT NFT Ethereum Lazy Minting (?) ( ) ( ) NFT — 4 Ethereum III — 2023-04-26 – p.17/26
NFT < , ID> ERC-721 OK NFT . . .
ID → NFT ID NFT NFT URL . . . URL . . . →NFT — 4 Ethereum III — 2023-04-26 – p.18/26
NFT NFT . . . NFT ( ) ↑ ID
. . . — 4 Ethereum III — 2023-04-26 – p.19/26
NFT NFT >>> network.disconnect() # >>> network.connect(’goerli’) # Ethereum >>>
accounts.add( ) # >>> collectible = SimpleCollectible.deploy({’from’: accounts[0]}) # NFT >>> collectible.createCollectible( ) # NFT goerli / ( ) “Gas used” Gas Gwei ERC-721a ID 1 — 4 Ethereum III — 2023-04-26 – p.20/26
NFT : ERC-721 NFT NFT (ID) NFT → URI NFT
( NFT ) (ID) (URI) → NFT ( ) URI → ( ) → ( ) NFT NFT NFT — 4 Ethereum III — 2023-04-26 – p.21/26
: DAO — 4 Ethereum III — 2023-04-26 – p.22/26
DAO (1) ( ) (2) (3) . . . (a)
( ) (b) ( ) https://medium.com/coinmonks/beanstalk-exploit-a-simplified-post-mortem-analysis-92e6cdb17ace — 4 Ethereum III — 2023-04-26 – p.23/26
MakerDAO https://docs.makerdao.com/smart-contract-modules/governance-module plot ( ) drop ( ) plot eta
( ) exec ( ) https://github.com/dapphub/ds-chief/blob/master/src/chief.sol https://github.com/dapphub/ds-auth/blob/master/src/auth.sol https://github.com/dapphub/ds-pause/blob/master/src/pause.sol — 4 Ethereum III — 2023-04-26 – p.24/26
— 4 Ethereum III — 2023-04-26 – p.25/26
— 4 Ethereum III — 2023-04-26 – p.26/26