ブロックチェーンの革新技術Hyperledger Fabricによるアプリケーション開発


~ブロックチェーンの革新技術~Hyperledger Fabricによるアプリケーション開発


リックテレコム


監修:早川勝
著者:清水智則、田町京子、上ノ原勇人、佐藤卓由、齋藤、近藤仁、平山毅、笠原章弘、岩崎竜矢、小笠原万値


はじめに
目次

第1章 ブロックチェーンの概要
1.1 ブロックチェーンとは
1.1.1 ブロックチェーンの特徴
1.1.2 ブロックチェーンの仕組み
1.1.3 2種類のブロックチェーン
1.1.4 ブロックチェーンの向き不向き
1.2 ブロックチェーンのユースケース
1.2.1 銀行発行の仮想通貨
1.2.2 貿易物流/貿易金融
1.2.3 食品トレーサビリティ

第2章 Hyperledger Fabricの概要
2.1 Hyperledger Fabricとは
2.1.1 開発の経緯
2.1.2 Hyperledger Fabricの特徴
2.2 Hyperledger Fabric v1.xのアーキテクチャ
2.2.1 Hyperledger Fabric v1.xの構成要素
2.2.2 トランザクションの処理フロー
2.2.3 Gossipプロトコル

第3章 Hyperledger Fabricを動作させる
3.1 動作環境等について
3.1.1 動作環境
3.1.2 本章の構成
3.2 Hyperledger Fabric動作環境の準備
3.2.1 必要なツールおよびソフトウェア
3.2.2 ステップ1 VirtualBoxとVagrantのインストール
3.2.3 ステップ2 Ubuntu LinuxゲストOSのインストールと初期設定
3.2.4 ステップ3 必要なツールおよびソフトウェアのインストール
3.2.5 ステップ4 Hyperledger Fabricのインストールと動作確認
3.3 Hyperledger Fabricのサンプルを動かしてみる
3.3.1 Marbles Demoの概要
3.3.2 Marbles Demoのインストール
3.3.3 Marbles Demoの実行
3.3.4 Marbles Demoを動かしてみる
3.3.5 Marbles Demoの停止とアンインストール
3.4 Hyperledger FabricのCLI
3.4.1 peerコマンドとは
3.4.2 peerコマンドの設定項目
3.4.3 peerコマンドの使用準備
3.4.4 peerコマンドのフラグ・サブ コマンド
3.4.5 versionサブコマンド
3.4.6 nodeサブコマンド
3.4.7 loggingサブコマンド
3.4.8 channelサブコマンド
3.4.9 chaincodeサブ コマンド
3.4.10 CLIコンテナを使用する
3.5 VirtualBoxの仮想化環境を使用しない環境構築
3.5.1 Windows 10 Pro編
3.5.2 macOS編
3.6 実践編のブロックチェーンネットワークの準備
3.6.1 実践編のブロックチェーンネットワーク
3.6.2 雛形のコピー
3.6.3 暗号鍵・証明書の生成
3.6.4 docker-compose.ymlのカスタマイズ
3.6.5 start.shとteardown.shのカスタマイズ
3.6.6 実践編のブロックチェーンネットワークの起動
3.6.7 実践編のブロックチェーンネットワークの停止と削除
3.6.8 実践編のブロックチェーンネットワークのdocker-composeファイル

第4章 Hyperledger Fabricのアプリケーション開発
4.1 アプリケーション開発の概要
4.2 サンプルアプリケーションの概要
4.2.1 ユースケース
4.2.2 データモデル
4.2.3 クラス図(エンティティ)
4.3 Go言語によるスマートコントラクトの開発
4.3.1 チェーンコードのライフサイクル
4.3.2 サンプルチェーンコードのプログラミングモデル
4.3.3 初期設定
4.3.4 チェーンコードの雛形を作る
4.3.5 エンティティとAPIの定義
4.3.6 InitおよびInvokeの実装
4.3.7 アプリケーションロジックの実装
4.3.8 単体テスト
4.3.9 インストール準備
4.3.10 アプリケーション開発時の注意点
4.4 SDK for Node.jsによるアプリケーション開発
4.4.1 SDK for Node.jsの概要
4.4.2 プログラミングモデル
4.4.3 サンプルによる説明
4.4.4 クライアントのサンプルアプリケーション について
4.5 アプリケーションの改良
4.5.1 アクセス制御の仕組み
4.5.2 アクセス制御ロジックの実装

第5章 Composerを活用したアプリケーションの開発
5.1 Hyperledger Composerとは
5.1.1 Hyperledger ComposerにおけるModelの考え方
5.1.2 Hyperledger Composerの開発ツールと提供形態
5.1.3 Hyperledger Composerの構成要素
5.2 Composerを使うための準備
5.3 Model、Transaction、ACL、Query
5.3.1 Hyperledger Fabric Business Networkの定義
5.3.2 Model
5.3.3 トランザクション・プロセッサー
5.3.4 Even
5.3.5 Query
5.3.6 ACL
5.3.7 BNAファイルを活用したデプロイ
5.3.8 コネクションプロファイル
5.3.9 外部からBusiness NetworkへのAPIによるアクセス
5.4 デプロイと実行
5.5 Hyperledger Composerサンプルアプリケーションの概要
5.5.1 Hyperledger Composer Playground
5.5.2 CarAuction NetworkのModel

第6章 Hyperledger Fabricの環境設定
6.1 サンプルアプリケーションによる環境の理解
6.1.1 サンプルアプリケーションの全体像
6.1.2 first-networkの全体像
6.1.3 first-networkのbyfn.sh
6.1.4 クライアントから直接呼び出すサンプル
6.2 Hyperledger Fabricネットワークの準備
6.2.1 証明書の生成(cryptogen)
6.2.2 チャネル環境設定の生成(configtxgen)
6.3 Hyperledger Fabricネットワークの起動
6.3.1 設定ファイルと環境変数
6.3.2 ネットワークの起動
6.3.3 チャネルの作成と参加
6.3.4 チェーンコードのインストールと実行
6.4 State DB
6.4.1 Apache CouchDBを利用したサンプル
6.4.2 Apache CouchDBの起動と接続
6.5 構成の変更
6.5.1 チャネルの追加
6.5.2 環境設定の変更(configtxlator)
6.6 Kafkaベースのオーダリングサービス
6.6.1 Apache Kafka
6.6.2 Apache ZooKeepe
6.6.3 Kafkaの設定のサンプル
6.7 Hyperledger Fabricのセキュアな稼働環境の概要を知る
6.7.1 メンバーシップサービスプロバイダ(MSP)
6.7.2 MSPの設定に必要な情報
6.7.3 MSPの設定

おわりに
監修者・著者プロフィール
参考文献・Webサイト

Index

書籍目次

Posted by shi-n