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
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
50
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
78
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
32
git と GitHub / git and GitHub
ks91
PRO
0
33
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
46
インターネットの特徴 / Features of the Internet
ks91
PRO
0
31
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
29
暗号学的ハッシュ関数 / Cryptographic Hash Function
ks91
PRO
0
35
デジタル署名 / Digital Signature
ks91
PRO
0
30
Other Decks in Technology
See All in Technology
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.2k
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
420
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
150
Postman AI エージェントビルダー最新情報
nagix
0
110
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
350
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
エンジニア向け技術スタック情報
kauche
1
260
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
170
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
4
700
rubygem開発で鍛える設計力
joker1007
2
200
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.8k
Building Adaptive Systems
keathley
43
2.6k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Rails Girls Zürich Keynote
gr2m
94
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
RailsConf 2023
tenderlove
30
1.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
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