Hyperledger Iroha入門 ―ブロックチェーンの導入と運営管理―

まずは、動かしてみよう!(Ver.1.2対応サポートファイルあり)

このような方におすすめ

ブロックチェーン技術者
各社のIT担当
  • 著者コネクト株式会社 監修/佐藤 栄一 著
  • 定価3,300 (本体3,000 円+税)
  • B5 288頁 2020/02発行
  • ISBN978-4-274-22473-7
  • 定価
  • ポイント0
  • 数量

※本体価格は変更される場合があります。
※通常2〜3営業日以内で発送いたします。
※取寄が可能な場合もございますのでお問合せください。

  • 概要
  • 主要目次
  • 詳細目次

 現代は、あらゆる場面でデジタル化が瞬く間に拡大浸透するようになりました。その反面、情報の複製や改ざんが簡単に行えるようになりました。そのため、情報の真偽のみならず、情報の正確性・原本性を担保する必要が生じています。

 そういったなか、ブロックチェーンは、情報の正確性や普遍性を担保する仕組みとして注目を浴びています。仮想通貨を実現するための基礎技術から発展して、より信頼性を求められる場面で正確性や普遍性(=改ざんされない性質)を担保する機能として期待されています。

 本書では、日本発のオープンソース ブロックチェーンフレームワーク「Hyperledger Iroha」(2019.5.6発表、ソラミツ株式会社(代表取締役社長宮沢和正)が最初の開発者)を使用して、ブロックチェーンを構築し、プログラミングやオペレーション、改ざん検知などを、実現するものです。

 なお、本書ではHyperledger IrohaをOracle VM VirtualBox内にUbuntu&Dockerを利用し、構築しました。短時間の作業で実際のブロックチェーン環境を利用できるようになります。本格導入はもちろん、予備導入、各種実験等に活用できます。

※デジタル地域通貨「Byacco/白虎」(HyperledgerIrohaベース)が2020年7月より、(有)スチューデントライフサポートが運営する会津大学内の売店やカフェテリア等にて運用開始。

※端末作業を容易にするため、以下のようなことを記述したテキストファイルもダウンロードできます。端末等にコピペして利用してください。

【v1.2で確認したファイルもダウンロードできます。 Iroha_Sample1.zipでは、sample.pdfの末尾に「本書に関係するHyperledeger Iroha Ver1.2.0の変更点」を記載してあります。】

[2.2.1 (1)VirtualBoxの準備](Windowsで実行)

VirtualBoxインストールファイルのダウンロードサイト(オラクル・コーポレーション:USサイト)

https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html

または https://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html

[2.2.2 (2)Ubuntuの準備](Windowsで実行)

Ubuntuのインストールイメージ(Canonical Ltd.サイト)

https://jp.ubuntu.com/download

[2.2.3 (3)Dockerのインストール]

Dockerインストール(Terminal 2-2-1:Ubuntuのターミナルで実行)

sudo apt install curl

sudo curl -fsSL get.docker.com -o get-docker.sh

ls

sudo sh get-docker.sh

sudo docker -v

*アドバイス:Dockerインストール終了時点で仮想PCをクローンするなど現在の状態を保存することをお薦めします。

付録の「A.3 複数Peer構成の構築」は、この時点からスタートすることを想定しています。

[2.2.4 (4)Dockerコンテナの作成]

Dockerコンテナ作成(Terminal 2-2-2:Ubuntuのターミナルで実行)

cd ~/

sudo docker network create iroha-network

sudo docker network list

sudo docker volume create blockstore

sudo docker volume list

some-postgresコンテナを作成(Terminal 2-2-3:Ubuntuのターミナルで実行)

sudo docker run -it -d --name some-postgres \

-e POSTGRES_USER=postgres \

-e POSTGRES_PASSWORD=mysecretpassword \

-p 5432:5432 \

--network=iroha-network \

postgres:9.5

https://www.ohmsha.co.jp/book/9784274224737/
第1章 Hyperledger Irohaが実現するブロックチェーン
第2章 ブロックチェーン環境構築
第3章 Hyperledger Iroha操作
第4章 Hyperledger Irohaプログラミング
第5章 Webアプリケーションベースの例題
付録 Hyperledger Iroha活用テクニック
A.1 ブロックチェーンの改ざん検知
A.1.1 ブロックチェーンの欠損
A.1.2 ブロックチェーンの改ざん(1)(トランザクションの作成者変更)
A.1.3 ブロックチェーンの改ざん(2)(処理内容)
A.2 Ubuntuのインストール手順
A.3 複数Peer構成の構築
A.4 Hyperledger Irohaのバージョンについて
A.5 各種ソースコード解説
はじめに
本書の全体の流れ

第1章 Hyperledger Irohaが実現するブロックチェーン
1.1 ロックチェーンとは
1.1.1 ブロックチェーンとニーズ
1.1.2 ブロックチェーンが使用している暗号化技術
1.1.3 ブロックチェーンの仕組み
1.1.4 Peer to Peerネットワークと分散システム
1.1.5 ブロックチェーンの適用事例
1.1.6 スマートコントラクト(手軽でスピーディーな契約)
1.2 Hyperledger Iroha概要
1.2.1 Hyperledgerプロジェクトの全体像
1.2.2 オープンソースの利点
1.2.3 Hyperledger Irohaをおすすめする理由
1.2.4 既存のデータベースシステムの比較

第2章 ブロックチェーン環境構築
2.1 Hyperledger Irohaで構築するブロックチェーン環境の概要
2.1.1 本書が構築する環境の全体像
2.1.2 VirtualBox環境の概要

2.2 Hyperledger Irohaによるブロックチェーン構築
2.2.1 (1) VirtualBoxの準備
2.2.2 (2) Ubuntuの準備
2.2.3 (3) Dockerのインストール
2.2.4 (4) Dockerコンテナの作成

2.3 起動と動作確認と停止
2.3.1 起動手順
2.3.2 各プロセスの動作確認
2.3.3 停止手順
2.3.4 誤ってDockerコンテナを作成した場合の削除手順

第3章 Hyperledger Iroha操作
3.1 Hyperledger Irohaの用語ならびに概念
3.1.1 Hyperledger Irohaの世界
3.1.2 セキュリティ機能
3.1.3 PeerとHyperledger Irohaネットワーク
3.1.4 irohaコンテナ
3.1.5 some-postgresコンテナPostgreSQLデータベース World State View
3.1.6 Hyperledger Irohaの操作方法

3.2 ターミナルによる操作(iroha-cliコマンド)
3.2.1 iroha-cliコマンドの概要
3.2.2 情報確認(New queryサブメニュー(1))
3.2.3 ドメインの作成(New transactionサブメニュー(1))とトランザクションの確認(New transaction status requestサブメニュー)
3.2.4 アカウントの作成(New transactionサブメニュー(2))
3.2.5 アセット作成(New transactionサブメニュー(3))
3.2.6 アセットの加算(New transactionサブメニュー(4))と残高確認(New queryサブメニュー(2))
3.2.7 アセットの転送(New transactionサブメニュー(5))と残高確認
3.2.8 トランザクションの内容確認(New queryサブメニュー(3))

3.3 Hyperledger Iroha環境の再構築とターミナルによる操作(iroha-cliコマンド)
3.3.1 Hyperledger Iroha環境の再構築方法
3.3.2 ロールの作成と権限の確認
3.3.3 アセットの減算

第4章 Hyperledger Irohaプログラミング
4.1 JavaScriptによるHyperledger Iroha API使用の基礎知識
4.1.1 JavaScriptの実行環境の概要
4.1.2 JavaScript実行環境の構築
4.1.3 Hyperledger Iroha APIの解説

4.2 JavaScriptクライアントライブラリを使用したシンプルなプログラム例
4.2.1 例題のファイル構成と格納ディレクトリ
4.2.2 アカウント情報&残高情報の表示
4.2.3 キーペア作成(ed25519_keygen.js)およびキーファイル作成(keycreate.js)
4.2.4 アカウント作成
4.2.5 アセット加算処理
4.2.6 アセット転送処理&アセット加算処理
4.2.7 ブロック内容表示(ブロック位置指定)
4.2.8 トランザクション内容表示(アカウント指定)

第5章 Webアプリケーションベースの例題
5.1 JavaScriptクライアントライブラリを使用したWebアプリケーション
5.1.1 例題「コワーキングスペース日本」のシチュエーション
5.1.2 例題「コワーキングスペース日本」構築作業
5.1.3 例題「コワーキングスペース日本」の操作
5.1.4 例題「コワーキングスペース日本」ソースコード

付録 Hyperledger Iroha活用テクニック
A.1 ブロックチェーンの改ざん検知
A.1.1 ブロックチェーンの欠損
A.1.2 ブロックチェーンの改ざん(1)(トランザクションの作成者変更)
A.1.3 ブロックチェーンの改ざん(2)(処理内容)

A.2 Ubuntuのインストール手順
A.2.1 Ubuntuのインストール概要

A.3 複数Peer構成の構築
A.3.1 構築する複数Peer構成の概要
A.3.2 複数Peer構成の構築手順
A.3.3 複数Peer構成の設定フィル変更
A.3.4 複数Peer構成の起動手順
A.3.5 複数Peer構成の動作確認
A.3.6 複数Peer 構成で同期しない場合の対処
A.3.7 複数Peer構成のブロックチェーンの同期確認
A.3.8 複数Peer構成の停止手順

A.4 Hyperledger Irohaのバージョンについて
A.4.1 互換性の維持
A.4.2 バージョン1.1.0の変化
A.4.3 異なるバージョンが混在するHyperledger Irohaネットワーク
A.4.4 Hyperledger Irohaのリリース状況の確認

A.5 各種ソースコード解説
A.5.1 アカウント作成
A.5.2 アセット加算処理
A.5.3 アセット転送処理&アセット加算処理
A.5.4 ブロック内容表示(ブロック位置指定)
A.5.5 トランザクション内容表示(アカウント指定)
A.5.6 例題「コワーキングスペース日本」のコード解説
参考文献
索引