2022年10月5日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミーにて使用したスライドです。
4 BBc-1 Ethereum IIICSO /[email protected]— 4 BBc-1 Ethereum III — 2022-10-05 – p.1/26
View Slide
https://speakerdeck.com/ks91— 4 BBc-1 Ethereum III — 2022-10-05 – p.2/26
( )SFC ( )CSO (Chief Science Officer)1993 ( )2006 ( )SFC22 P2P (Peer-to-Peer)2011 ( )2018 2019VR 2021.7 VR 2021.8 “ALL THESE WORLDS ARE YOURS”VR 2021.9 & VR 2021.12VR 2022.3 VR 2022.8→ ( )— 4 BBc-1 Ethereum III — 2022-10-05 – p.3/26
BBc-1 Ethereum4NFT DAO— 4 BBc-1 Ethereum III — 2022-10-05 – p.4/26
1. NFT DAO2. : NFT3. : DAO4.— 4 BBc-1 Ethereum III — 2022-10-05 – p.5/26
NFT DAODeFi ( )— 4 BBc-1 Ethereum III — 2022-10-05 – p.6/26
( )= =:. . . ( : )( ) . . .. . .. . .. . .— 4 BBc-1 Ethereum III — 2022-10-05 – p.7/26
⇒( ) . . .. . .— 4 BBc-1 Ethereum III — 2022-10-05 – p.8/26
DeFi ( )DeFi : Decentralized Finace— 4 BBc-1 Ethereum III — 2022-10-05 – p.9/26
NFT ( )NFT : Non-Fungible Token( )(1 ) → fungible token( ) → NFT— 4 BBc-1 Ethereum III — 2022-10-05 – p.10/26
ERC-721ERC (Ethereum Request for Comments) 721 (721 )https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.mdinterface 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 BBc-1 Ethereum III — 2022-10-05 – p.11/26
NFTNFT URLMarlinspike, M.: My first impressions of web3 (2022)Web3. . .URL↑ NFT → → NFTNFT ↔NFT— 4 BBc-1 Ethereum III — 2022-10-05 – p.12/26
DAO ( )DAO : Decentralized Autonomous OrganizationVitalik Buterin (Ethereum )https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide/(1)(2) ( )(3)DAO. . ./— 4 BBc-1 Ethereum III — 2022-10-05 – p.13/26
: NFT— 4 BBc-1 Ethereum III — 2022-10-05 – p.14/26
NFTLinux (Ubuntu 22.04)Python3 + eth-brownie 1.19.1 (Python Ethereum )$ brownie bake nftnft ( )contractsSimpleCollectible.solERC-721— 4 BBc-1 Ethereum III — 2022-10-05 – p.15/26
NFT (1)NFTNFT$ 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) #URLURLURL ( )— 4 BBc-1 Ethereum III — 2022-10-05 – p.16/26
NFT (2)NFT(?)NFT>>> collectible.ownerOf( NFT ID) #>>> collectible.ownerOf( NFT ID) #NFT EthereumEthereum NFTNFTEthereumLazy Minting (?)( )( )NFT— 4 BBc-1 Ethereum III — 2022-10-05 – p.17/26
NFT< , ID>ERC-721OKNFT . . .ID→ NFTID NFTNFTURL . . . URL . . .→NFT— 4 BBc-1 Ethereum III — 2022-10-05 – p.18/26
NFTNFT . . .NFT ( )↑ID . . .— 4 BBc-1 Ethereum III — 2022-10-05 – p.19/26
NFTNFT>>> network.disconnect() #>>> network.connect(’goerli’) # Ethereum>>> accounts.add( ) #>>> collectible = SimpleCollectible.deploy({’from’: accounts[0]}) # NFT>>> collectible.createCollectible( ) # NFTgoerli /( )“Gas used”GasGweiERC-721a ID 1— 4 BBc-1 Ethereum III — 2022-10-05 – p.20/26
NFT :ERC-721 NFTNFT (ID)NFT → URINFT( NFT )(ID)(URI) → NFT ( )URI → ( )→ ( )NFTNFT NFT— 4 BBc-1 Ethereum III — 2022-10-05 – p.21/26
: DAO— 4 BBc-1 Ethereum III — 2022-10-05 – p.22/26
DAO(1) ( )(2)(3). . .(a) ( )(b) ( )https://medium.com/coinmonks/beanstalk-exploit-a-simplified-post-mortem-analysis-92e6cdb17ace— 4 BBc-1 Ethereum III — 2022-10-05 – p.23/26
MakerDAOhttps://docs.makerdao.com/smart-contract-modules/governance-moduleplot ( )drop ( )plot eta ( ) exec ( )https://github.com/dapphub/ds-chief/blob/master/src/chief.solhttps://github.com/dapphub/ds-auth/blob/master/src/auth.solhttps://github.com/dapphub/ds-pause/blob/master/src/pause.sol— 4 BBc-1 Ethereum III — 2022-10-05 – p.24/26
— 4 BBc-1 Ethereum III — 2022-10-05 – p.25/26
— 4 BBc-1 Ethereum III — 2022-10-05 – p.26/26