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
240
イーサリアム (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
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
250
講師自己紹介 / Lecturer's Self-Introduction
ks91
PRO
0
82
講師研究紹介 / Lecturer's Research Introduction
ks91
PRO
0
67
Discord とビルダー&チャットボットの使い方 / How to use Discord and Builder & Chatbots
ks91
PRO
0
160
研究って何だっけ / What's Research?
ks91
PRO
0
27
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
18
招き猫コマロ— ネットワーク贈答経済のエージェント / Manekineko Komaro - Network Gift Economy Agent
ks91
PRO
0
17
Implementation of Blockchain Ecosystems
ks91
PRO
0
12
Other Decks in Technology
See All in Technology
競技としてのKaggle、役に立つKaggle
yu4u
4
1.9k
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
260
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
110
アクセス制御にまつわる改善 / Improving access control
itkq
0
550
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
1
400
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
240
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
530
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Why Our Code Smells
bkeepers
PRO
331
56k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Product Roadmaps are Hard
iamctodd
44
9.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Done Done
chrislema
178
15k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Testing 201, or: Great Expectations
jmmastey
28
6.4k
Docker and Python
trallard
34
2.7k
How GitHub (no longer) Works
holman
304
140k
How to Ace a Technical Interview
jacobian
272
22k
Building Applications with DynamoDB
mza
88
5.6k
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