Ethereum
https://gyazo.com/47d62462e55dd4ca82f3a4f83514f629
Home | Ethereum
チューリング完全な記述言語
パブリックなBlockchain ブロックチェーンをベースとした分散コンピューティング環境
スマートコントラクト Smart Contract(第三者を介さない契約の執行)によるapp環境が構築可能なオープンソース Open Source
できること
Blockchain ブロックチェーンのトランザクション Transactionにデータを保存可能
現在80バイト
複雑な処理が可能
できないこと
外の情報をとってこれない
→Oracle Blockchainを使う
乱数生成
スマートコントラクトでの擬似乱数生成について - Gunosy Blockchain Blog
対策:
randao/randao: RANDAO: A DAO working as RNG of Ethereum
検索 Searchが得意でない
key valueしか保存できない
記述言語
💯Solidity
🙂Vyper
😅Serpent
バージョン
ネットワーク
パブリックチェーン
メインネット(本番環境 有料)
プライベートチェーン
テストネット(無料)
Ethereumの各テストネットの特徴まとめ - Qiita
TODO:ちゃんと書く
プライベートネット
ローカルネット
Ganacheを使うと簡単に開発可能
構成コンポーネント
開発基盤コンポーネント
APIライブラリ
web3.js
スマートコントラクト Smart Contract開発言語
Solidity
開発支援ツール
実行基盤コンポーネント
Ethereumノード
geth
処理機能 サーバ
EVM
蓄積機能 ストレージ
Swarm
通信機能 メッセージ
Whisper
利用基盤コンポーネント
CUI
CLI Command Line Interface
GUI
Mist
アカウント
EOA 外部所有アカウント
人やプログラムがコントロール
CA コントラクト アカウント
EOA 外部所有アカウントから送られてきた処理依頼を受け取り実行
Library
CA コントラクト アカウントから呼び出され、変数のマッピングが行われ、呼び出し元のCA コントラクト アカウントの状態変数にアクセス
プロトコル
devp2p
Ethereum Wire Protocol
コアメンバー
Vitalik Buterin
イーサリアムを生んだ23歳の天才が語る、ブロックチェーンのこれからと「分散の力」 | WIRED.jp
参考
EthereumとContracts開発を取り巻くエコシステムの概要 - Gunosy Blockchain Blog
イーサリアムへの入り口
The definitive guide for writing Ethereum smart contracts - EthereumDev