Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
イーサリアム (Ethereum) 入門 / Introduction to Ethereum
Kenji Saito
PRO
October 25, 2017
Technology
0
220
イーサリアム (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
FinTech Lecture 15 : Presentations and Conclusions
ks91
PRO
0
49
FinTech Lecture 14 : Q & A
ks91
PRO
0
56
FinTech Lecture 13 : FinTech Ideathon
ks91
PRO
0
58
AI との対話 / Interacting with AI
ks91
PRO
0
17
FinTech Lecture 12 : Cyber-Physical Society and Future of Finance
ks91
PRO
0
59
FinTech Lecture 11 : Further Smart Contracts
ks91
PRO
0
56
評判システムと自律分散社会 / Reputation Systems and Decentralized Autonomous Society
ks91
PRO
0
13
FinTech Lecture 10 : Smart Contracts
ks91
PRO
0
35
ブロックチェーンと近未来の金融システム / Blockchain and Financial System of the Near Future
ks91
PRO
0
110
Other Decks in Technology
See All in Technology
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
170
グローバルチームことはじめ / Bootstrapping a global team
tasshi
1
630
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
140
lt53
98_justdoit
0
110
Astroで始める爆速個人サイト開発
takanorip
12
8.4k
2022年に起きたフロントエンドの変化
sakito
29
17k
ステート管理を超えるRecoil運用の考え方
uhyo
7
5.4k
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
0
110
データエンジニアを助けてくれるFivetranとSnowflakeの仕様&機能のご紹介
sagara
0
430
230125 古いタブレットの活用 かーでぃさん
comucal
PRO
0
300
AI Services 概要 / AI Services overview
oracle4engineer
PRO
0
160
Dev Containers ことはじめ - 失敗から学ぶ開発環境運用法
streamwest1629
0
290
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
779
250k
For a Future-Friendly Web
brad_frost
166
7.7k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
318
19k
Faster Mobile Websites
deanohume
295
29k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
2
390
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.5k
Designing with Data
zakiwarfel
91
4.2k
A Philosophy of Restraint
colly
193
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
22
1.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
8
3.2k
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