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 入門 / Introduction to Ethereum
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kenji Saito
PRO
August 23, 2023
Technology
0
220
Ethereum 入門 / Introduction to Ethereum
2023年8月23日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミーにて使用したスライドです。
Kenji Saito
PRO
August 23, 2023
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
民主主義というアナログAI と、逃走の線の描き方 / Democracy as an Analogue AI and How to Draw the Line of Escape
ks91
PRO
0
12
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY3 / Acadmy Camp 2026 Winter - Future Design by Us and Them DAY3
ks91
PRO
0
58
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY1 / Acadmy Camp 2026 Winter - Future Design by Us and Them
ks91
PRO
0
85
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY2 / Acadmy Camp 2026 Winter - Future Design by Us and Them DAY2
ks91
PRO
0
74
アナログAI からの逃走とメタ・ネイチャーポジティブ / Escape from Analog AI, and Meta-Nature Positive
ks91
PRO
0
40
AI 前提社会におけるトラスト / Trust in an AI-Driven Society
ks91
PRO
0
63
非営利組織の起業/発表と総括 / Starting up a Nonprofit Organization, Presentation and Summary
ks91
PRO
0
66
自己開発 / Self-Development
ks91
PRO
1
34
あなたは何によって憶えられたいですか? / What Do You Want to be Remembered for?
ks91
PRO
0
40
Other Decks in Technology
See All in Technology
ナレッジワークのご紹介(第88回情報処理学会 )
kworkdev
PRO
0
180
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
560
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
190
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.6k
脳内メモリ、思ったより揮発性だった
koutorino
0
210
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
450
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
140
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
240
元エンジニアPdM、IDEが恋しすぎてCursorに全業務を集約したら、スライド作成まで爆速になった話
doiko123
1
590
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
410
Claude Code 2026年 最新アップデート
oikon48
10
8.2k
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
200
Featured
See All Featured
The Language of Interfaces
destraynor
162
26k
Designing for humans not robots
tammielis
254
26k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Darren the Foodie - Storyboard
khoart
PRO
3
2.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Amusing Abliteration
ianozsvald
0
130
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
400
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Transcript
1 Ethereum CSO /
[email protected]
— 1 Ethereum — 2023-08-23
– p.1/33
https://speakerdeck.com/ks91 — 1 Ethereum — 2023-08-23 – p.2/33
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 22 P2P (Peer-to-Peer) 2011 ( ) 2018 2019 VR 2021.9 & VR 2022.3 2023 AI VR&RPG 2023.5 “Don’t Be So Serious” VOXEL 2023.7 DAZE 2023 → ( ) — 1 Ethereum — 2023-08-23 – p.3/33
1 Ethereum BBc (Beyond Blockchain) — 1 Ethereum — 2023-08-23
– p.4/33
1. Ethereum 2. Ethereum 3. Ethereum 4. — 1 Ethereum
— 2023-08-23 – p.5/33
1. Ethereum — 1 Ethereum — 2023-08-23 – p.6/33
Ethereum Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
CONTRACT & DECENTRALIZED APPLICATION PLATFORM” 12 ( 12 ) (= ) = ⇒ → Dapps ( / / ) — 1 Ethereum — 2023-08-23 – p.7/33
2. Ethereum macOS (Big Sur 11.6.4, Monterey 12.6.7) + Homebrew
Linux (Ubuntu 22.04) (x86/AMD64 (and ARM)) Windows 10 + Windows Subsystem for Linux (Ubuntu ) Ethereum solidity brownie — 1 Ethereum — 2023-08-23 – p.8/33
Solidity Ethereum ( ) http://solidity.readthedocs.io/en/latest/installing-solidity.html Linux (on Windows) “sudo apt”,
macOS “brew” Linux ARM git clone dependencies solc 0.8.21 (8/23 ) $ solc --version brownie py-solc-x solc (dependencies) ( solc py-solc-x ) — 1 Ethereum — 2023-08-23 – p.9/33
Ganache Ethereum RPC npm ( ) macOS https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09 Linux https://qiita.com/seibe/items/36cef7df85fe2cefa3ea
npm Ganache $ sudo npm install -g ganache — 1 Ethereum — 2023-08-23 – p.10/33
Python3 macOS $ brew install python3 Python 3.8 Homebrew $
brew uninstall --ignore-dependencies
[email protected]
$ brew install
[email protected]
/usr/local/opt/
[email protected]
/bin/python3 Linux $ sudo apt update $ sudo apt install python3.8 python3.8-dev python3.8-venv python3.8-tk 16.10 python3(.8) apt (PPA ) python3 ( python3.9 ) python3-dev python3-venv python3-tk — 1 Ethereum — 2023-08-23 – p.11/33
macOS : . . . macOS wget brew dyld: Library
not loaded: /usr/local/opt/gettext/lib/libintl.8.dylib $ brew uninstall --force gettext $ brew install gettext — 1 Ethereum — 2023-08-23 – p.12/33
Python (venv) macOS (Linux python3 ) ‘python3.8’ ‘python3’ $ python3.8
-m venv bbc2env $ source bbc2env/bin/activate (bbc2env) $ pip install -U pip bbc2env ( BBc-2 ) ( ) (bbc2env) $ deactivate — 1 Ethereum — 2023-08-23 – p.13/33
Brownie Python Ethereum https://eth-brownie.readthedocs.io Brownie $ pip install eth-brownie version
1.19.3 (8/23 ) — 1 Ethereum — 2023-08-23 – p.14/33
$ brownie init ( ERC-20 ) $ brownie bake token
$ cd token — 1 Ethereum — 2023-08-23 – p.15/33
contracts (macOS Linux (x86/AMD64) ) $ brownie compile Linux (ARM)
(AMD64 ) $ python # >>> import solcx >>> solcx.compile_solc(’0.6.12’) # >>> quit() /tmp ∼/.solcx/solc-v0.6.12 ( ) $ pytest tests — 1 Ethereum — 2023-08-23 – p.16/33
Brownie $ brownie console Python >>> len(accounts) 10 >>> accounts[0].balance()
100000000000000000000 >>> quit() — 1 Ethereum — 2023-08-23 – p.17/33
3. Ethereum — 1 Ethereum — 2023-08-23 – p.18/33
( ) — 1 Ethereum — 2023-08-23 – p.19/33
. . . — 1 Ethereum — 2023-08-23 – p.20/33
vs. — 1 Ethereum — 2023-08-23 – p.21/33
= ( ) run ( ) — 1 Ethereum —
2023-08-23 – p.22/33
Ether Ethereum EOA : Externally-Owned Account ( ) Ether EVM
EVM — 1 Ethereum — 2023-08-23 – p.23/33
EVM : Ethereum Virtual Machine ঢ়ଶ ֎෦ΞΫλʔ ΞΧϯτ &7. ίʔυ
&UIFSˠ(BT ىಈ ίϯτϥΫτ ϝοηʔδ͔ɺ৽͍ࣗ͠ಈΦϒδΣΫτ ΞΧϯτؒͰΓऔΓ͞ΕΔσʔλ&UIFS ετϨʔδ ঢ়ଶ` τϥϯβΫγϣϯ ηοτ σδλϧॺ໊ &7. ਓؒͱ͔ ࣗಈ ΦϒδΣΫτ Gas Gas ETH (Gas ) (burn ) ETH ( . . .) — 1 Ethereum — 2023-08-23 – p.24/33
EVM : : ← : Solidity — JavaScript LLL —
Lisp Vyper — Python Fe — Vyper Rust ← NEW! Solidity Vyper Python — 1 Ethereum — 2023-08-23 – p.25/33
Solidity ( ) pragma solidityˆ0.7.0; contract IndivisibleAsset { /* */
string public _name; string public _symbol; uint256 public _quantity; address public _owner; constructor(string memory name, string memory symbol, uint256 quantity) public { _name = name; _symbol = symbol; _quantity = quantity; _owner = msg.sender; } function transfer(address to) public returns (bool) { require (_owner == msg.sender); _owner = to; return true; } } — 1 Ethereum — 2023-08-23 – p.26/33
( , ) (constructor) (deploy) = ( ) ( )
ETH Trusted Actor Model — 1 Ethereum — 2023-08-23 – p.27/33
Ethereum — 1 Ethereum — 2023-08-23 – p.28/33
4. Ethereum Görli — 1 Ethereum — 2023-08-23 – p.29/33
infura.io Brownie https://infura.io SIGN UP PROJECT ID infura Ethereum API
infura . . . infura.io PROJECT ID WEB3_INFURA_PROJECT_ID PROJECT ID (∼/.bash_profile ) $ export WEB3_INFURA_PROJECT_ID= PROJECT ID — 1 Ethereum — 2023-08-23 – p.30/33
G¨ orli ETH brownie console Görli >>> network.disconnect() >>> network.connect(’goerli’)
>>> len(accounts) 0 >>> accounts.add() <LocalAccount object ’ 16 ’> >>> accounts[0].private_key 16 >>> quit() Görli Testnet ETH Faucet ETH https://goerlifaucet.com ( ) ( ) https://metamask.io/ — 1 Ethereum — 2023-08-23 – p.31/33
G¨ orli ETH brownie console Görli ETH >>> network.disconnect() >>>
network.connect(’goerli’) >>> len(accounts) 0 >>> accounts.add( 16 ) <LocalAccount object ’ 16 ’> >>> accounts[0].balace() ETH >>> quit() ETH >>> accounts[0].transfer(accounts[1], "0.01 ether") — 1 Ethereum — 2023-08-23 – p.32/33
2 Ethereum I : ERC-20 — 1 Ethereum — 2023-08-23
– p.33/33