ブロックチェーン エンジニア集中講座 week7 ~Ethereum実践編~ 参加レポート
HashHubでは毎週日曜日に2ヶ月集中して学習をするブロックチェーンエンジニア集中講座をフレセッツと共同で運営しています。詳しくはこちらをご確認ください。
ブロックチェーンエンジニア集中講座:https://www.blockchain-edu.jp/
<過去参加レポート>
week1 ~ブロックチェーンの仕組みと概要~:参加レポート
week2 ~ビットコイン基礎編~:参加レポート
week3 ~ビットコイン応用編~ :参加レポート
week4 ~ビットコイン実践編~ :参加レポート
week5 ~Ethereum基礎編~ :参加レポート
week6 ~Ethereum応用編~ :参加レポート
week8 ~Ethereum挑戦編~ :参加レポート
week9 ~特別講義~:参加レポート
講義開始
前回はSolidityについて学び,簡単なICOコントラクトを作成しました。今回はdAppsを作成してみます。作成するのは「じゃんけんdApps(2人での分散じゃんけん)」と「DEX(NFD(Non Fungible TokenがトレードできるDex)」の二つです。本講義はEthereum編からメンターとして参加していただいている、木澤さんがメイン講師として説明します。
最初にdAppsの簡単な説明が行われました。dAppsdecentralizedなP2Pネットワーク上で動作するアプリケーションで、centralizedなサーバー上で動作するアプリケーションとは対照的に言われます。(つまりブロックチェーンに限らず、BitTorrent, Torなど上で動作すれば全てdAppsと言えるでしょう。)
この講義のdAppsはブロックチェーンdAppsを考えると説明されました。dAppsの例としてwebが挙げられました。
従来webサイト : Front End → API → Database
dApps webサイト : Front End → Smart Contract → Blockchain
このような例を元にdAppsが満たす条件は
- オープンソースである
- アプリのデータとレコードは暗号化してブロックチェーンに保存する
- 暗号通貨を使う
- アプリ内でトークンを生成する
となるようです。
次はDEXです。DEXは従来の暗号通貨取引所と違ってEthereumを使ってdecentralizedに暗号通貨を交換できるものです。例としては「EtherDelta」を挙げられました。これは312行のコードで出来ているため、非常に参考になるとのことでした。
ここまでdAppsとDEXが何なのかを説明した後、今回作成するじゃんけんdAppsとDEXについてコードを見ながら解説していきます。まずdAppsの流れは以下のようになります。
ポイントは「それぞれ出した手をどうやって秘匿するか」「ゲームの途中離脱を許さない」ということです。このようなものをどうやって作成するか、Gas代を節約しながら動かすかをの説明を行われました。
今回作成するNFD(Non Fungible Token)がトレードできるDEXの全体像も、コードを見ながら説明されました。
これで本日の講義が終了し、受講者がコードを書いたり演習問題を解く時間になりました。
まとめ
今回はdAppsとDEXを自分で構築してみました。二つはともなんとなく難しそうと思っていましたが、コードとして書き起こしてみると、意外と少ないコード量で作れるんだなと思いました。特にDEXが300行足らずで動かせるのは非常に驚きでした。しかしアップデートも早く、環境によってテキスト通りいかないという方もいて大変そうでした。しかし、そんな時はメンターが丁寧に補助することで何とかやりきっていました。いよいよ残すところ特別講義含めて2回。頑張っていきたいと思います!
お知らせ
■HashHubでは入居者募集中です!
HashHubは、ブロックチェーン業界で働いている人のためのコワーキングスペースを運営しています。ご利用をご検討の方は、下記のWEBサイトからお問い合わせください。また、最新情報はTwitterで発信中です。
HashHub:https://hashhub.tokyo/
Twitter:https://twitter.com/HashHub_Tokyo
■ブロックチェーンエンジニア集中講座開講中!
HashHubではブロックチェーンエンジニアを育成するための短期集中講座を開講しています。お申込み、詳細は下記のページをご覧ください。
ブロックチェーンエンジニア集中講座:https://www.blockchain-edu.jp/
■HashHubでは下記のポジションを積極採用中です!
・コミュニティマネージャー
・ブロックチェーン技術者・開発者
・ビジネスディベロップメント
詳細は下記Wantedlyのページをご覧ください。
Wantedly:https://www.wantedly.com/companies/hashhub/projects