Solidityによる開発の基本から、Webアプリケーションの実装まで
本書は、スマートコントラクトアプリケーションを事例として、パブリックなブロックチェーンを用いたスマートコントラクト開発の手法を紹介する書籍です。
スマートコントラクトプラットフォームのデファクトであるEthereumと、スマートコントラクトを開発するためのプログラミング言語Solidityを中心に取り上げ、実際にアプリケーションを開発するためのプロセスを体験することができます。
スマートコントラクトのコーディングやテスト手法はもちろん、フロントエンドやミドルウェアを含めたアプリケーション提供のための包括的な手順を説明しています。さらに、ブロックチェーンの特徴を活かすサービスデザインの取り組みも紹介します。
構成は次のようになっています。
「Chapter1 はじめてのスマートコントラクト」では、スマートコントラクト開発に必要となる基礎知識として、ブロックチェーンやDAppsなどの概念や特徴を解説します。
「Chapter2 Solidityによるスマートコントラクト開発」では、EthereumベースのDApps開発で使われる言語、Solidityの解説とともに、ゲーム開発を通じてSolidityを学べるCryptoZombiesとブラウザベースの統合開発環境Remixを紹介します。
「Chapter3 スマートコントラクトのプロダクトデザイン」では、DApps開発の価値を高めるためのUXデザインの基礎知識や実践的なプロトタイピングの手法を紹介します。
「Chapter4 DApps開発環境の構築」ではDApps開発で必要となる開発ツール群とそのインストール方法を紹介します。
「Chapter5 開発用ブロックチェーンの構築」では、開発に利用するブロックチェーンのノードを構築する手法を紹介し、ノードが実際にP2Pネットワーク内でどのように動作するのかを解説します。
「Chapter6 スマートコントラクトの設計」では、スマートコントラクトの設計と実装を説明します。DAppsに特有の設計上の注意点や
利用するフレームワークの使い方も学びます。
「Chapter7 テスト手法と自動化」ではスマートコントラクトのテストコードの記述方法とその自動化の手順を解説します。セキュリティ対策についても触れます。
「Chapter8 Webアプリケーションの実装」では、ブラウザでのスマートコントラクトの利用に必要となる実装を解説します。
「Chapter9 テストネットへのデプロイと監査」では、スマートコントラクトをテストネットへデプロイする手順を説明します。
「Chapter10 発展的なDApps開発」では、DApps開発のためのサービスや標準規格、デザインパターンなど、より発展的なDAppsを設計・実装する際に役立つ情報を紹介します。
「Chapter11 DApps開発の未来」では、急速な技術革新が進むEthereumの先端技術や暗号技術に加え、新たなスマートコントラクトプラットフォームなど、今後のDApps開発に有用となりうる技術を紹介します。
「試して学ぶ」をコンセプトに、スマートコントラクト開発に現在必要な知識と技術をまとめた、エンジニア必携の1冊です。