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
Kenji Saito
PRO
July 11, 2018
Technology
0
290
イーサリアム (Ethereum) 入門 / Introduction to Ethereum
2018年7月11日(水)、ブロックチェーンハブ主催で開催されたブロックチェーンアカデミー「イーサリアム入門」(【ハンズオン】スマートコントラクトプログラミング (1)) にて使用したスライドです。
Kenji Saito
PRO
July 11, 2018
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
デジタルトランスフォーメーションと民主主義 / Digital Transformation and Democracy
ks91
PRO
0
6
We Never Took the Kobayashi Maru Test Until Now. What Do You Think of Our Solutions? — Journeys of the Mind Through a No-Win Game
ks91
PRO
0
18
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
75
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
23
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
31
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
34
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
160
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
88
発表と総括 / Presentations and Summary
ks91
PRO
0
62
Other Decks in Technology
See All in Technology
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
160
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
roppongirb_20250911
igaiga
1
240
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
310
AIをプライベートや業務で使ってみよう!効果的な認定資格の活かし方
fukazawashun
0
100
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
190
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
980
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
170
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
190
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
184
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Done Done
chrislema
185
16k
How to train your dragon (web standard)
notwaldorf
96
6.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
RailsConf 2023
tenderlove
30
1.2k
A designer walks into a library…
pauljervisheath
207
24k
Being A Developer After 40
akosma
90
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Transcript
(Ethereum) (1) CSO / SFC ( https://speakerdeck.com/ks91 )
[email protected]
(Ethereum)
— (1) — 2018-07-11 – p.1/39
( ) CSO (Chief Science Officer) SFC ( ) 1993
( ) 2006 ( ) SFC 17 P2P (Peer-to-Peer) 2011 → ( ) (Ethereum) — (1) — 2018-07-11 – p.2/39
(2017) : SF + + SF (2048 ) 2048 (Ethereum)
— (1) — 2018-07-11 – p.3/39
1. 2. 3. 4. 5. (Ethereum) — (1) — 2018-07-11
– p.4/39
1. (Ethereum) — (1) — 2018-07-11 – p.5/39
( ) (1) (2) (3) (4) ( ) state machine
replication (Ethereum) — (1) — 2018-07-11 – p.6/39
1) 2) 3) ⇒ ⇒ · / (dependable ) (Ethereum)
— (1) — 2018-07-11 – p.7/39
/DLT ( ) Bitcoin ( ) Open Assets Protocol (OAP)
( ) Ethereum ( ) ( ) Enterprise Ethereum Alliance (↓ ) (DLT) ( ) Hyperledger (Linux Foundation) Fabric (IBM/DAH), Sawtooth (Intel), Iroha ( ) Corda (R3), Tangle (IOTA), . . . , BBc-1 ( ) (Ethereum) — (1) — 2018-07-11 – p.8/39
/DLT ( ) ( ) ( vs. ) ( )
( ) ( ) ⇒ ( : BBc-1) DLT : : (Ethereum) — (1) — 2018-07-11 – p.9/39
Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT
& DECENTRALIZED APPLICATION PLATFORM” 15 (Ethereum) — (1) — 2018-07-11 – p.10/39
2. macOS (High Sierra 10.13) + Homebrew Linux (Ubuntu 16.04)
Windows 10 + Windows Subsystem for Linux geth, solidity populus (Ethereum) — (1) — 2018-07-11 – p.11/39
geth GO https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum #installation-instructions geth 1.8.12-stable (7/10 ) $ geth
-help (Ethereum) — (1) — 2018-07-11 – p.12/39
Solidity http://solidity.readthedocs.io/en/latest/installing-solidity.html solc 0.4.24 (7/10 ) $ solc --version (Ethereum)
— (1) — 2018-07-11 – p.13/39
Python3 macOS $ brew install python3 Linux $ sudo add-apt-repository
ppa:deadsnakes/ppa $ sudo apt update $ sudo apt install python3.6 python3.6-dev python3.6-venv 16.10 python3 apt (Ethereum) — (1) — 2018-07-11 – p.14/39
Python (venv) macOS ‘python3.6’ ‘python3’ $ python3.6 -m venv popenv
$ source popenv/bin/activate (popenv) $ pip install -U pip (popenv) $ deactivate (Ethereum) — (1) — 2018-07-11 – p.15/39
Populus Python http://populus.readthedocs.io/en/latest/quickstart.html Open SSL Populus $ pip install populus==2.1.0
$ pip install -U web3==3.16.5 $ pip install -U eth-utils==0.7.4 version 2.1.0 (Ethereum) — (1) — 2018-07-11 – p.16/39
$ populus init contracts/Greeter.sol tests/test_greeter.py $ populus compile $ py.test
. (Ethereum) — (1) — 2018-07-11 – p.17/39
(1) http://beyond-blockchain.org/public/BcH-smart-contract-programming.zip Python (init.py, run.py, deploy.py) project.json genesis.json $ python
init.py $ touch MyToken.sol (Ethereum) — (1) — 2018-07-11 – p.18/39
(2) $ geth init genesis.json $ geth account new 16
(Ethereum) — (1) — 2018-07-11 – p.19/39
“run.py” ‘--etherbase’ 0x ( run.py): http://beyond-blockchain.org/public/modified_run_py.zip $ python run.py $
tail -f geth.log process id kill (Ethereum) — (1) — 2018-07-11 – p.20/39
DAG (Directed Acyclic Graph) Ether (Ethereum) — (1) — 2018-07-11
– p.21/39
3. (Ethereum) — (1) — 2018-07-11 – p.22/39
(Ethereum) — (1) — 2018-07-11 – p.23/39
. . . (Ethereum) — (1) — 2018-07-11 – p.24/39
vs. (Ethereum) — (1) — 2018-07-11 – p.25/39
= run (Ethereum) — (1) — 2018-07-11 – p.26/39
Ether Ethereum EOA : Externally-Owned Account Ether EVM EVM (Ethereum)
— (1) — 2018-07-11 – p.27/39
EVM : Ethereum Virtual Machine Gas (Ethereum) — (1) —
2018-07-11 – p.28/39
EVM : : Solidity — JavaScript LLL — Lisp (Ethereum)
— (1) — 2018-07-11 – p.29/39
Solidity ( ) pragma solidity ˆ0.4.24; contract IndivisibleAsset { /*
*/ string public _name; string public _symbol; uint256 public _quantity; address public _owner; constructor (string name, string symbol, uint256 quantity) public { _name = name; _symbol = symbol; _quantity = quantity; _owner = msg.sender; } function transfer(address to) external returns (bool) { require(_owner == msg.sender); _owner = to; return true; } } (Ethereum) — (1) — 2018-07-11 – p.30/39
(Ethereum) — (1) — 2018-07-11 – p.31/39
4. (Ethereum) — (1) — 2018-07-11 – p.32/39
ADEPT ADEPT : IBM IoT (Ethereum) — (1) — 2018-07-11
– p.33/39
(Ethereum) — (1) — 2018-07-11 – p.34/39
⇒ (Ethereum) — (1) — 2018-07-11 – p.35/39
The DAO ( ) The DAO Split ( ) 360
ETH (50∼60 ) (2016/6/17) ( ) ( ; ) (2016/7/20 ) (Ethereum) — (1) — 2018-07-11 – p.36/39
5. (Ethereum) — (1) — 2018-07-11 – p.37/39
Greeter.sol “deploy.py” __main__ Greeter 0x & $ python deploy.py (Ethereum)
— (1) — 2018-07-11 – p.38/39
I : ERC20 ∼ ∼ (Ethereum) — (1) — 2018-07-11
– p.39/39