Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スマートコントラクトプログラミング (2) イーサリアム (Ethereum) 入門 / Introduction to Ethereum

スマートコントラクトプログラミング (2) イーサリアム (Ethereum) 入門 / Introduction to Ethereum

ブロックチェーンハブ主催で開催している (第2期) スマートコントラクトプログラミング講義 (2) 「イーサリアム (Ethereum) 入門」のスライドです。2017年5月17日(水) に使用しました。

Kenji Saito

May 17, 2017
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

  1. Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT

    & DECENTRALIZED APPLICATION PLATFORM” 15 (Ethereum) – (2) – 2017-05-17 – p.5/33
  2. 2. Mac OS X (Yosemite 10.10.5) + Homebrew Linux (Ubuntu

    16.04) Windows 10 + Bash on Ubuntu on Windows geth, solidity populus (Ethereum) – (2) – 2017-05-17 – p.6/33
  3. (1) { "version": "3", "chains": { "bch": { "chain": {

    "class": "populus.chain.geth.LocalGethChain" }, "web3": { "provider": { "class": "web3.providers.ipc.IPCProvider" } }, "contracts": { "backends": { "JSONFile": {"$ref": "contracts.backends.JSONFile"} } } } } } (Ethereum) – (2) – 2017-05-17 – p.12/33
  4. EVM : : Solidity — JavaScript LLL — Lisp (Ethereum)

    – (2) – 2017-05-17 – p.23/33
  5. Solidity contract metaCoin { mapping (address => uint) balances; function

    metaCoin() { balances[msg.sender] = 10000; } function sendCoin(address receiver, uint amount) returns(bool sufficient) { if (balances[msg.sender] < amount) return false; balances[msg.sender] -= amount; balances[receiver] += amount; return true; } } by hshimo (Ethereum) – (2) – 2017-05-17 – p.24/33
  6. The DAO ( ) The DAO Split ( ) 360

    ETH (50∼60 ) (2016/6/17) ( ) ( ; ) (2016/7/20 ) (Ethereum) – (2) – 2017-05-17 – p.30/33