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
October 25, 2017
Technology
0
250
イーサリアム (Ethereum) 入門 / Introduction to Ethereum
2017年10月25日(水)、ブロックチェーンアカデミー「スマートコントラクトプログラミング講座(2)」にて使用のスライドです。
Kenji Saito
PRO
October 25, 2017
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
デジタルトランスフォーメーションと民主主義 / Digital Transformation and Democracy
ks91
PRO
0
3
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
14
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
73
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
21
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
30
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
33
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
160
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
86
発表と総括 / Presentations and Summary
ks91
PRO
0
61
Other Decks in Technology
See All in Technology
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
1.4k
人工衛星のファームウェアをRustで書く理由
koba789
1
770
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3k
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
150
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
210
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.4k
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.3k
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.4k
Language Update: Java
skrb
2
280
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
3
500
AWSで推進するデータマネジメント
kawanago
1
1.2k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
We Have a Design System, Now What?
morganepeng
53
7.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Site-Speed That Sticks
csswizardry
10
810
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Invisible Side of Design
smashingmag
301
51k
How to Ace a Technical Interview
jacobian
279
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Transcript
(Ethereum) (2) CSO / SFC
[email protected]
(Ethereum) – (2) –
2017-10-25 – p.1/33
1. 2. 3. 4. 5. (Ethereum) – (2) – 2017-10-25
– p.2/33
1. 2. 3. 4. 5. (Ethereum) – (2) – 2017-10-25
– p.3/33
1. (Ethereum) – (2) – 2017-10-25 – p.4/33
Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT
& DECENTRALIZED APPLICATION PLATFORM” 15 (Ethereum) – (2) – 2017-10-25 – p.5/33
2. macOS (High Sierra 10.13) + Homebrew Linux (Ubuntu 16.04)
Windows 10 + Bash on Ubuntu on Windows geth, solidity populus (Ethereum) – (2) – 2017-10-25 – p.6/33
geth GO https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum #installation-instructions geth 1.7.2-stable (10/24 ) $ geth
-help (Ethereum) – (2) – 2017-10-25 – p.7/33
Solidity http://solidity.readthedocs.io/en/latest/installing-solidity.html solc 0.4.18 (10/24 ) $ solc --version (Ethereum)
– (2) – 2017-10-25 – p.8/33
Python pip macOS http://qiita.com/oct_itmt/items/2d066801a7464a676994 (pyenv ) Ubuntu 16.04 (Ethereum) –
(2) – 2017-10-25 – p.9/33
Populus Python http://populus.readthedocs.io/en/latest/quickstart.html Open SSL Populus $ pip install populus
version 1.10.1 (10/24 ) requirement rlp==0.5.1 ( pip ) $ pip install -U rlp==0.5.1 (Ethereum) – (2) – 2017-10-25 – p.10/33
$ populus init contracts/Greeter.sol tests/test_greeter.py $ populus compile $ py.test
. (Ethereum) – (2) – 2017-10-25 – p.11/33
(1) http://beyond-blockchain.org/public/BcH-smart-contract-programming.zip Python (init.py, run.py, deploy.py) populus.json genesis.json $ python
init.py $ geth init genesis.json (Ethereum) – (2) – 2017-10-25 – p.12/33
(2) $ geth account new 16 (Ethereum) – (2) –
2017-10-25 – p.13/33
“run.py” ‘--etherbase’ 0x $ python run.py $ tail -f geth.log
process id kill (Ethereum) – (2) – 2017-10-25 – p.14/33
DAG (Directed Acyclic Graph) Ether (Ethereum) – (2) – 2017-10-25
– p.15/33
3. (Ethereum) – (2) – 2017-10-25 – p.16/33
(Ethereum) – (2) – 2017-10-25 – p.17/33
. . . (Ethereum) – (2) – 2017-10-25 – p.18/33
vs. (Ethereum) – (2) – 2017-10-25 – p.19/33
= run (Ethereum) – (2) – 2017-10-25 – p.20/33
Ether Ethereum EOA : Externally-Owned Account Ether EVM EVM (Ethereum)
– (2) – 2017-10-25 – p.21/33
EVM : Ethereum Virtual Machine Gas (Ethereum) – (2) –
2017-10-25 – p.22/33
EVM : : Solidity — JavaScript LLL — Lisp (Ethereum)
– (2) – 2017-10-25 – p.23/33
Solidity ( ) pragma solidity ˆ0.4.8; contract IndivisibleAsset { /*
*/ string public _name; string public _symbol; uint256 public _quantity; address public _owner; function IndivisibleAsset(string name, string symbol, uint256 quantity) { _name = name; _symbol = symbol; _quantity = quantity; _owner = msg.sender; } function transfer(address to) { if (_owner != msg.sender) { throw; } _owner = to; } } (Ethereum) – (2) – 2017-10-25 – p.24/33
(Ethereum) – (2) – 2017-10-25 – p.25/33
4. (Ethereum) – (2) – 2017-10-25 – p.26/33
ADEPT ADEPT : IBM IoT (Ethereum) – (2) – 2017-10-25
– p.27/33
(Ethereum) – (2) – 2017-10-25 – p.28/33
⇒ (Ethereum) – (2) – 2017-10-25 – p.29/33
The DAO ( ) The DAO Split ( ) 360
ETH (50∼60 ) (2016/6/17) ( ) ( ; ) (2016/7/20 ) (Ethereum) – (2) – 2017-10-25 – p.30/33
5. (Ethereum) – (2) – 2017-10-25 – p.31/33
Greeter.sol “deploy.py” __main__ Greeter 0x & $ python deploy.py (Ethereum)
– (2) – 2017-10-25 – p.32/33
I (Ethereum) – (2) – 2017-10-25 – p.33/33