ブロックチェーンエンジニアとなるべく、書籍を何冊か読んでみたので、そのビューをします。
ちなみに、紹介する書籍は、イーサリアムプラットフォームでのコントラクト開発関連となります。
ブロックチェーンアプリケーション 開発の教科書
※本の画像から楽天の販売ページに飛びます。
所感
個人的に一番お気に入りです。
ERC20に準拠、Truffleや、OpenZeppelinによるフレームワークを使用したコントラクト開発など、開発の基礎を学ぶには最適な書籍かと思います。
書籍最初の導入部分は丁度良い深掘り具合で、非常に面白いです。アプリケーションを開発するまでの前提知識として書籍の3分の 1以上を割り当てており、ブロックチェーン技術の歴史、技術の簡易的な内容、実際にすでに応用されてきている分野など、非常に効率よく現状(2018年現在)をつかむことができました。
Web関連技術のエンジニアなどを経てきた人、または応用情報処理くらいの知識レベルの方でしたら、半日程度、この書籍の概要を読むと、現在のブロックチェーン技術の成り立ちと現状が十分に理解できる内容となっていると思います。
しかし、逆にWeb開発などの前提知識がない人がこの書籍から入ると???となってしまう可能性があります。
また、一番気に入っている理由としては、Remixによるブラウザでの開発に止まらず、Truffleによるフレームワークでの開発など、開発への道しるべとして基本的な部分を抑えてくれているところかと思います。
また、各種環境からのデプロイの方法がまとまってわかる部分もこの書籍の良いところだと思います。
一つ読みにくいな、と感じた部分は、概要部分に紙面を割きすぎたのか、もう少しコードの説明などを詳しくしてもらえたら良いな、と感じました。(例えば、Gethのgenesis.jsonのパラメータの内容とか、このまま打ち込んで実行してくださいみたいになってるので、Webから検索して知識の補完が必要だったりします。)
今この本で勉強中です
堅牢なスマートコントラクト開発のためのブロックチェーン
※本の画像から楽天の販売ページに飛びます。
所感
ページ数も多くないため、初めに読みました。
書籍始めの方の導入部分、ブロックチェーンの説明などは、概要的にわかりやすいです。時々自分の理解がついて行かず、もう少し詳しく知りたい、と思う部分もあります。
ブロックチェーン技術の歴史から概要的な流れを掴むにはまずは十分な内容かな、と思いました。
開発するための知識レベルまで理解を落とし込むには、私は1の書籍による補完またはWeb検索による補完が必要でした。
私は、ERC20準拠のトークンを作成したかったので、実装部分はこの書籍を参考にしませんでした。しかし、最後のコントラクトに関するセキュリティを高めるための具体例は参考になると思います。
はじめてのブロックチェーン・アプリケーション Ethereumによるスマートコントラクト開発入門
※本の画像から楽天の販売ページに飛びます。
所感
開発部分に特化した内容となっています。ブロックチェーンの歴史や概要などについては、この本ではなく、上述した本の方がわかりやすいと感じます。しかし、タイトルにもあるように、開発をメインとしたものですので、そのようになっているのでしょう。
Gethの操作については、1の本の技術的解説部分を補完するために利用していました。Geth以外のところはさっと一読した程度で補完しています^^;
ざっと見たところ、開発環境がBrowserSolidityを使用した開発で、1の本のように、フレームワークを使用して作る、というよりは、自分でプログラムして作り上げていく、という感じの内容になっています。トークンにキャッシュバック機能の追加をしたり、具体的な応用例も充実していて、コントラクトをがりがり作りこんでいきたい人などには役に立つのかもしれません。
20180531追記
3の書籍は、browser-solidityで開発を行ってますが、私はtruffleを使用して開発しています。自分の中で開発の流れを把握したら、この書籍に掲載されているコードを自分の開発環境で実践することで、1の本にはない、コントラクト開発に関する知見が得られることがわかりました。1の本は、フレームワークを使用して、先人の知恵をかりて素早く安全なコントラクトを開発できる、という点を解説しているため、ソースコードが少なめですが、3の本はさらに自分のロジックを追加していく際に役に立つと感じました。