#はじめに
慶應義塾大学3年のOshikawaです。村井純研究室BCALI研究グループという場所でブロックチェーンの勉強をしながら、某ブロックチェーン開発企業で学生エンジニアをしています。
今回はブロックチェーンに興味があるけどどう勉強したらいいのかわからないという人のために、まず最初に勉強すべきことを紹介します。
あくまで初心者向けなのでホワイトペーパーなどは紹介しません。
入門ということもあって、本以外は基本無料でできるものを紹介しています。
- STEP1:「ブロックチェーンとは何か」を理解する
- STEP2: ノードを建ててみる
- STEP3: dapps開発
また、
- 番外編:コンソーシアムブロックチェーン開発
- おまけ:Lightinig Netowork入門
も用意しました。
#STEP1:「ブロックチェーンとは何か」を理解する
まずは理解しないと始まらないので、最初は本を読むことをオススメします。しかし、大半の人はここで折れるか、興味を失って辞めてしまいます。難しいし、めんどくさいので仕方ないことだとは思いますが。
##おすすめの本
まずは「ブロックチェーンって何?」という状態から脱することが目標です。
最初に読むべき本を紹介します。
###マスタリングビットコイン
聖書です。とにかくこれを読まないと始まりません。
またこれのEthereum版である「マスタリングイーサリアム」もありますが、ブロックチェーンの仕組みに関する説明は少ないので、これは初心者が読むにはあまり適していないと思います。Dapps開発上級者になるためのものだと思っています。
非常に簡単な説明でありながら、詳細な部分まで理解できてしまう良書です。
マスタリングビットコインを読んだだけだと何と無くイメージできそうでできないモヤモヤ感が残ってしまいます。この本はわかりやすい図を使った解説がしてあるのでイメージがしやすいです。また、人にブロックチェーンを説明する時どういう図を描けば伝わりやすいかの参考にすることもできます。
個人的に1番最初に読む本としてはこれを推してます。
###詳解ビットコイン
自分は今まさに購入して届くのを待っているので読んでいないのですが、マスタリングビットコインに書かれてないようなロジックに部分も深く解説されているかなり良書らしいです。
##動画
慶應義塾大学湘南藤沢キャンパス(SFC)にに有名なブロックチェーンの授業があり、SFCはSFC Global Campusというサイトで公開されています。
ブロックチェーンの基本を解説する「ブロックチェーン」とブロックチェーンの応用方法について考える「ビヨンドブロックチェーン」という授業があり、どちらもブロックチェーン初心者向けの授業なのでピッタリだと思います。
Link:ブロックチェーン
Link:ビヨンドブロックチェーン基礎
#STEP2: ノードを建ててみる
マスタイングビットコインなどでもノードの動かし方が書いてあるのでそれを参考にするだけでも十分。ローカルのテストネット->テストネットという順で遊んでみるのがおすすめ。初心者の勉強でメインネットを使う必要はない。
###bitcoind
とりあえず一番最初に動かすのはbitcoindがおすすめ。しかし最近ビルドするのが更に難しくなったとも聞くので、根気強く色んな記事を調べながらトライアンドエラーを繰り返して勉強しましょう。
bitcoin-cliを使ったBitcoinAPI入門
bitcoindのregtestで送金を行うチュートリアル
###geth
Ethereum入門
gethについての基本的なことだけでなくdapps開発についても解説してあるなかなかクオリティの高い入門ドキュメント。ノードをを動かすに当たっては十分な内容が解説してある。
#STEP3: Dapps開発
個人的にDappsを作ることにあまり興味はないのだけれど、まだまだ狭いブロックチェーン界隈でエンジニアとしてやって行きたいのなら、Solidityを覚えておいて損はないと思う。
CryptoZombies
ゲームを作りながらSolidityを学ぶ学習ツール。基本構文などを手を動かしながらポップに学べる。無料でできるのでやっておいて損はないですが、これだけやってもあまり応用はできないかなと思ったりもします。
solidityを書いたり、dappsを作る上で勉強として最初に作るべきものが全て解説されている。とりあえず一通りやっておけば十分な基本の力はつく。
solidityの基本から、dapps開発の工程まで、現場の流れで解説しています。
ブロックチェーンエンジニアとして活躍されている方たちが開発現場の話までしてくれているので、自分も今の会社で働かせていただく前の準備として非常に参考になりました。
番外編:コンソーシアムブロックチェーン開発
コンソーシアム系はまだまだ歴史が浅いため、本があまりありません。勉強するとなると「そもそもCordaって何?」、「Hyperledgerってどんな構成?」という部分をググることから始めると思います。しかし記事が分散し、古い情報や間違ったことを書いた記事も溢れているのでなかなか難しいです。
そこでで一番参考になると思うのがLayerXさんのScrapboxです。コンソーシアムのことについて迷ったらだいたいLayerXさんが解決してくれます。さすがです。
##Corda
Corda LayerX Research
LayerXさんのcorda関連Scrapboxです。めちゃめちゃ記事が豊富です。
###Corda Tutorial
Cordaが公開しているチュートリアルです。
###(Udemyコース) Introduction to Corda Development
Udemyに無料のCorda講座があります。簡単なコーディングを学べます。
##Hyperledger Fabric
Hyperledger Fabric LayerX research
LayerXさんのHLF関連Scrapboxです。
###Hyperledger Fabric Samples
HLFのサンプル集です。解説に従って手を動かしながら学びます。中でもFabcarが有名です。
###Course Catalog - Linux Foundation - Training
Linux Foundationのオンラインコースです。無料のものもあります。
##勉強会
Blockchain GIG
月に1回、オラクルの方達がゲストを招いてエンタープライスブロックチェーンについて解説をするイベントです。
以上がコンソーシアムの勉強法紹介でした。
#おまけ:Lightinig Netowork入門
個人的にLightninig Networkを推しているのでLNの勉強方法もおまけで。
###LND Developer Site
「Lightning Networkとは」の解説、LNノードの動かし方、LNアプリケーションの作り方も詳しく書いてあるのでLNの勉強には十分です。
#おわりに
最後に自分が一番オススメしたい勉強方法を紹介します。
#ゼミに入ってみる
###Keio University Jun Murai Lab. Bcali Group
はい。宣伝です。