試して学ぶスマートコントラクト開発

個数:
電子版価格
¥3,839
  • 電書あり

試して学ぶスマートコントラクト開発

  • ウェブストアに1冊在庫がございます。(2024年04月26日 18時55分現在)
    通常、ご注文翌日~2日後に出荷されます。
  • 出荷予定日とご注意事項
    ※上記を必ずご確認ください

    【ご注意事項】 ※必ずお読みください
    ◆在庫数は刻々と変動しており、ご注文手続き中に減ることもございます。
    ◆在庫数以上の数量をご注文の場合には、超過した分はお取り寄せとなり日数がかかります。入手できないこともございます。
    ◆事情により出荷が遅れる場合がございます。
    ◆お届け日のご指定は承っておりません。
    ◆「帯」はお付けできない場合がございます。
    ◆画像の表紙や帯等は実物とは異なる場合があります。
    ◆特に表記のない限り特典はありません。
    ◆別冊解答などの付属品はお付けできない場合がございます。
  • ●店舗受取サービス(送料無料)もご利用いただけます。
    ご注文ステップ「お届け先情報設定」にてお受け取り店をご指定ください。尚、受取店舗限定の特典はお付けできません。詳細はこちら
  • サイズ B5判/ページ数 400p/高さ 24cm
  • 商品コード 9784839966881
  • NDC分類 338
  • Cコード C3055

出版社内容情報

Solidityによる開発の基本から、Webアプリケーションの実装まで実際に試しながら習得できる、ブロックチェーン、スマートコントラクトの解説書です。ブロックチェーンの研究と実務に携わる著者陣が詳しく丁寧に解説していきます。

【特徴】
・ブロックチェーンやスマートコントラクトが基礎から学べる
・スマートコントラクトの設計、構築、実装まで
・実務に役立つ応用的、発展的トピックまで解説

これから入門する方から、より発展的なスキルを身につけたい方まで、ブロックチェーンとスマートコントラクトに興味のあるエンジニア必携の1冊です。

【構成】
Chapter1 はじめてのスマートコントラクト
Chapter2 Solidityによるスマートコントラクト開発
Chapter3 スマートコントラクトのプロダクトデザイン
Chapter4 DApps開発環境の構築
Chapter5 開発用ブロックチェーンの構築
Chapter6 スマートコントラクトの設計
Chapter7 テスト手法と自動化
Chapter8 Webアプリケーションの実装
Chapter9 テストネットへのデプロイと監査
Chapter10 発展的なDApps開発
Chapter11 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
   2 プロダクトとチームを成長させる
   3 リーンUXの基本プロセスでのポイント
   4 開発フェーズのポイント
3 プロトタイピングによるアプローチ
   1 2種類のプロトタイピングの活用
   2 戦術的プロトタイピング
   3 体験的プロトタイピング
   4 プロトタイプは最終成果物ではない
4 ユーザーテストの設計
   1 ユーザーテストとは
   2 従来的なユーザーテストの流れ
   3 短期開発におけるユーザーテスト
   4 軽量化ポイント
   5 ユーザーテストのアンチパターン
5 サンプルプロダクトの設計
   1 DApps『Quest α版』
   2 戦術的プロトタイピング
   3 体験的プロトタイピング

Chapter4 DApps開発環境の構築
1 各ツールの紹介
   1 Docker
   2 Geth
   3 Ganache
   4 Node.js(npm)
   5 Truffle
   6 Git
   7 Visual Studio Code
   8 Solidity対応の統合開発環境・エディタ
2 macOSでの環境構築
   1 Homebrew
   2 Docker
   3 Geth
   4 Ganache
   5 Node.js(npm)
   6 Truffle
   7 Git
   8 Visual Studio Code
3 Windowsでの環境構築
   1 Windows Sybsystem for Linux
   2 Docker
   3 Geth
   4 Ganache
   5 Node.js(npm)
   6 Truffle
   7 Git
   8 Visual Studio Code
4 Linuxでの環境構築
   1 Docker
   2 Geth
   3 Ganache
   4 Node.js(npm)
   5 Truffle
   6 Git
   7 Visual Studio Code

Chapter5 開発用ブロックチェーンの構築
1 プライベートネットの構築
   1 ローカル環境でのプライベートネットの構築
   2 gethoによるプライベートネットの構築
2 より発展的なノード構築
   1 Google Cloud Platformの登録
   2 Google Cloud SDKのインストール
   3 Google Cloud SDKの初期設定
   4 kubectlのインストール
   5 Kubernetes Engineクラスタの作成
   6 Kubernetesで動作させるコンテナの作成
   7 コンテナのデプロイ
3 Ethereumのネットワーク
   1 P2Pネットワークの基礎
   2 Ethereumのプロトコル
   3 ノード探索
   4 ログによる実践的な動作確認

Chapter6 スマートコントラクトの設計
1 データモデリング
   1 概念データモデル設計
   2 アトリビュートの洗い出し
   3 論理データモデル設計
   4 物理データモデル設計
2 コントラクトの設計
   1 コントラクトの役割分担とデザインパターン
   2 コントラクトが保持すべきデータの精査
   3 機能の洗い出し
3 Truffleフレームワークによる開発準備
   1 Truffleプロジェクトの作成
   2 Truffle Develop
   3 デプロイ先のEthereumネットワーク設定
   4 Truffleコンソール
4 コントラクトの実装
   1 OpenZeppelinのインストール
   2 コントラクトの作成
   3 コントラクトの機能実装
   4 コンパイル
   5 プライベートネットへのデプロイ
5 プライベートネットでの動作確認
   1 デプロイとコントラクトオブジェクトの作成
   2 コントラクトの状態呼び出し(call)
   3 コントラクトの状態変更(transaction)
   4 結果の確認

Chapter7 テスト手法と自動化
1 テストコードの記述
   1 Truffleでのテストコード
   2 テストコードの作成
   3 テストの実行
   4 テストカバレッジ
2 セキュリティチェック
   1 自動セキュリティチェックツール
   2 Mythril Classicでのセキュリティチェック
   3 Quantstamp Betanetでのセキュリティチェック
3 テストの自動化
   1 リポジトリによる管理
   2 CI(継続的インテグレーション)
   3 GitHubとGoogle Cloud Buildの連携

Chapter8 Webアプリケーションの実装
1 実装するアプリケーションの構成
   1 一般的なWebアプリケーションの構成
   2 DAppsの構成
   3 本書で実装するDAppsの構成
2 フロントエンド実装
   1 フロントエンドのフレームワーク
   2 JSON-RPC
   3 実装前の準備
   4 Web3.js
   5 Room一覧
   6 Room作成
3 ミドルウェアとしてのデータベース構築
   1 取り得るデータベースの種類
   2 MySQLの構築
   3 MySQLの動作確認
4 バックエンドAPIの開発
   1 開発言語の選択
   2 バックエンドのフレームワーク
   3 開発に役立つ主要ライブラリ
5 データベースとコントラクトのデータ同期
   1 データ不整合によるリスク
   2 イベント取得の事前準備
   3 コントラクトでのイベントの宣言と発火
   4 イベントの検知とデータ同期
6 各コンテナの疎通確認
   1 Docker Composeによる複数コンテナの起動
   2 ブラウザでの確認

Chapter9 テストネットへのデプロイと監査
1 テストネットへのデプロイ
   1 デプロイの準備
   2 Truffleによるデプロイ
   3 コントラクトの確認
2 セキュリティ監査
   1 セキュリティ監査の重要性
   2 監査サービス
3 ユーザーテスト
   1 テストネットでのユーザーテスト
   2 メインネットでのユーザーテスト
   3 DAppsを育てるフェーズ

Chapter10 発展的なDApps開発
1 Ethereumでの開発に便利なプロジェクト群
   1 Swarm
   2 IPFS
   3 Oracle
   4 Ethereum Name Service
   5 Kyber Network
2 ERC規格で進む標準化
   1 ERCとは
   2 EIPとERC
   3 ERCトークン規格の例
3 スマートコントラクトのデザインパターン
   1 Factory Contract Pattern
   2 Name Registry Pattern
   3 Access Restriction Pattern
   4 Pull Payment Pattern
   5 Self Destruction Pattern
   6 Circuit Breaker Pattern
   7 Upgradable Contract Pattern

Chapter11 DApps開発の未来
1 Ethereumの先端技術
   1 Plasma
   2 Casper
   3 Sharding
   4 eWASM
   5 Vyper
   6 Yul
   7 Serenity
   8 MetaMask Privacy Mode
2 Ethereum以外のスマートコントラクトプラットフォーム
   1 EOS
   2 NEO
   3 Zilliqa
   4 Kadena
3 新しい暗号技術
   1 ゼロ知識証明
   2 シュノア署名
   3 BLS署名
   4 秘密分散
   5 準同型暗号
4 情報収集
   1 日本国内での情報源
   2 海外における情報源
   3 情報ツールとしてのTwitter

加嵜 長門[カサキ ナガト]
著・文・その他

篠原 航[シノハラ ワタル]
著・文・その他

河西 紀明[カワニシ ノリアキ]
著・文・その他

金 志京[キム ジキョウ]
著・文・その他

佐々木 亮彰[ササキ ヒロアキ]
著・文・その他

田中 克典[タナカ カツノリ]
著・文・その他

平野 浩司[ヒラノ コウジ]
著・文・その他

前川 彰[マエガワ アキラ]
著・文・その他

DMM.comブロックチェーン研究室[ディーエムエムドットコムブロックチェーンケンキュウシツ]
著・文・その他

丸山 弘詩[マルヤマ ヒロシ]
編集

内容説明

Solidityによる開発の基本から、Webアプリケーションの実装まで。現場で役立つスキルを身につける。ブロックチェーンやスマートコントラクトが基礎から学べる。スマートコントラクトの設計、構築、実装まで。実務に役立つ応用的、発展的トピックまで解説。

目次

1 はじめてのスマートコントラクト
2 Solidityによるスマートコントラクト開発
3 スマートコントラクトのプロダクトデザイン
4 DApps開発環境の構築
5 開発用ブロックチェーンの構築
6 スマートコントラクトの設計
7 テスト手法と自動化
8 Webアプリケーションの実装
9 テストネットへのデプロイと監査
10 発展的なDApps開発
11 DApps開発の未来

著者等紹介

加嵜長門[カサキナガト]
合同会社DMM.comブロックチェーン研究室室長/エヴァンジェリスト。慶應義塾大学大学院政策・メディア研究科修士課程修了。ビッグデータ活用基盤の構築に携わり、SparkやSQL on Hadoopを用いた分散処理技術やブロックチェーン技術の研究開発、事業提案などを担当

篠原航[シノハラワタル]
合同会社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のコントラクト開発を担当(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。

感想・レビュー

※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。

マチャ彦

1
DAppsを構成する技術の概要は手を動かしながらつかむことができた。コマンド内に誤植があったり、バージョンの関係でそのままでは動かない箇所がいくつかあった。Linuxコマンド、フロントのスキルがないと読み進めるのは少し辛そう。2020/01/09

外部のウェブサイトに移動します

よろしければ下記URLをクリックしてください。

https://bookmeter.com/books/13421733
  • ご注意事項

    ご注意
    リンク先のウェブサイトは、株式会社ブックウォーカーの提供する「読書メーター」のページで、紀伊國屋書店のウェブサイトではなく、紀伊國屋書店の管理下にはないものです。
    この告知で掲載しているウェブサイトのアドレスについては、当ページ作成時点のものです。ウェブサイトのアドレスについては廃止や変更されることがあります。
    最新のアドレスについては、お客様ご自身でご確認ください。
    リンク先のウェブサイトについては、「株式会社ブックウォーカー」にご確認ください。