関連サイト
本書の関連ページが用意されています。
内容紹介
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冊です。
書誌情報
- 著者: 加嵜 長門, 篠原 航, 金 志京, 河西 紀明, 田中 克典, 佐々木 亮彰, 平野 浩司, 前川 彰, DMM.comブロックチェーン研究室
- 発行日: 2019-01-30 (紙書籍版発行日: 2019-01-30)
- 最終更新日: 2019-01-30
- バージョン: 1.0.0
- ページ数: ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
加嵜 長門
合同会社DMM.comブロックチェーン研究室 室長/エヴァンジェリスト。慶應義塾大学大学院政策・メディア研究科修士課程修了。ビッグデータ活用基盤の構築に携わり、SparkやSQL on Hadoopを用いた分散処理技術やブロックチェーン技術の研究開発、事業提案などを担当。共著に『詳解Apache Spark』(技術評論社)、『ビッグデータ分析・活用のためのSQLレシピ』(マイナビ出版)、『ブロックチェーンアプリケーション開発の教科書』(マイナビ出版)。
篠原 航
合同会社DMM.comブロックチェーン研究室テックリード。サーバーサイドアプリケーションの設計・実装に携わり、ビッグデータ基盤の構築、計算リソースの効率化やCI/CDの整備などを担当したのちに現職。ブロックチェーンの高可用性とマルチチュードの実現可能性に着目している。著書『ブロックチェーンアプリケーション開発の教科書』(マイナビ出版)。
金 志京
合同会社DMM.comブロックチェーン研究室リードエンジニア。コンシューマーゲームの開発をはじめ、サーバーサイドなどWeb関連の開発に携わる。現在はブロックチェーンベースのプロダクト開発を中心に、先端技術の研究・開発を担当。
河西 紀明
合同会社DMM.comブロックチェーン研究室所属。地域情報出版社のサービスデザインからキャリアをスタートし、フリーランスやデザインコンサルタントを経て現職。デジタルコマースのグロースや開発環境改善、チーム組成などに携わる。ビジネス設計からテックもこなすユーティリティなデザイナーとして、DApps開発とデザインワークのチーム共業を推進。
田中 克典
合同会社DMM.comブロックチェーン研究室所属。動画配信や電子書籍、プラットフォームなどの大規模開発に携わった後に、フロントエンドエンジニアを率いる開発グループのリーダーを担当。専門領域はフロントエンドとDAppsのコントラクト開発。
佐々木 亮彰
合同会社DMM.comブロックチェーン研究室所属。Web制作会社やソーシャルゲーム開発を経て現職。横断的な技術サポートやプラットフォーム開発を経て、現在はDAppsのバックエンド開発を担当。
平野 浩司
合同会社DMM.comブロックチェーン研究室所属。ブログ、POSレジ、ECサービスの開発を経て、現在はDAppsのフロントエンド開発を担当。
前川 彰
合同会社DMM.comブロックチェーン研究室所属(インターン)。立命館大学理工学部電子工学科在籍。ブロックチェーン、特にマイニングや合意形成アルゴリズムに興味を持つ。現在はDAppsのコントラクト開発を担当。
目次
Chapter1 はじめてのスマートコントラクト
- 1 スマートコントラクトとは
- 1 広義のスマートコントラクト
- 2 狭義のスマートコントラクト
- 3 ブロックチェーンの特徴
- 2 ブロックチェーンで実現できること
- 1 ブロックチェーンが提供する5つの価値
- 2 トークンエコノミクス
- 3 インセンティブ・ディセンティブの設計
- 4 KYCによる信用担保
- 5 DApps開発での懸念事項
- 3 既存サービスの実例
- 1 ブロックチェーンを用いたサービス
- 2 スマートコントラクトで実装されたサービス
- 4 テストネットでのDAppsの利用
- 1 テストネットとは
- 2 ウォレットの基礎知識
- 3 ウォレットのセットアップ(MetaMask)
- 4 ウォレットのセットアップ(Coinbase Wallet)
- 5 テストネットでのEtherの入手
- 6 テストネットで試せるDApps
Chapter2 Solidityによるスマートコントラクト開発
- 1 Ethereumの固有概念
- 1 Ethereumの内部通貨
- 2 手数料としてのガス
- 3 アカウントの種類
- 4 チェーンの採用を担うGhostプロトコル
- 5 EVM
- 2 Solidity概論
- 1 Solidityの特徴
- 2 コントラクト
- 3 型の種類
- 3 CryptoZombiesによるSolidityの学習
- 1 CryptoZombiesの概要
- 2 レッスン1:ゾンビファクトリーの作成
- 3 レッスン2:ゾンビは人間を襲う
- 4 レッスン3:Solidityの高度なコンセプト
- 5 レッスン4:ゾンビのバトルシステム
- 6 レッスン5:ERC721とクリプト収集物
- 7 レッスン6:フロントエンドとWeb3.js
- 4 RemixによるSolidityの実践
- 1 統合開発環境Remix
- 2 サンプルプロジェクト
- 3 Remixによる実践
- 4 Remixのログ機能による確認
Chapter3 スマートコントラクトのプロダクトデザイン
- 1 プロジェクトにおけるUXデザインの意義
- 1 UXデザインの必要性
- 2 プロダクトのユーザビリティ
- 3 開発プロセスでのUX/UIデザイン
- 4 非ウォータフォール開発の推奨
- 5 プロダクトの成果を定義する
- 2 リーンUXによる開発
- 1 リーンスタートアップとリーンUX