内容紹介
まずは、動かしてみよう!(Ver.1.0.0、Ver.1.0.1、Ver.1.2.0、Ver.1.3.0対応サポートファイルあり)
現代は、あらゆる場面でデジタル化が瞬く間に拡大浸透するようになりました。その反面、情報の複製や改ざんが簡単に行えるようになりました。そのため、情報の真偽のみならず、情報の正確性・原本性を担保する必要が生じています。
そういったなか、ブロックチェーンは、情報の正確性や普遍性を担保する仕組みとして注目を浴びています。仮想通貨を実現するための基礎技術から発展して、より信頼性を求められる場面で正確性や普遍性(=改ざんされない性質)を担保する機能として期待されています。
本書では、日本発のオープンソース ブロックチェーンフレームワーク「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 ①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 ②Ubuntuの準備] (Windowsで実行)
Ubuntuのインストールイメージ(Canonical Ltd.サイト)
https://jp.ubuntu.com/download
[2.2.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 ④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
このような方におすすめ
ブロックチェーン技術者
各社のIT担当
目次
主要目次
第1章 Hyperledger Irohaが実現するブロックチェーン
第2章 ブロックチェーン環境構築
第3章 Hyperledger Iroha操作
第4章 Hyperledger Irohaプログラミング
第5章 Webアプリケーションベースの例題
付録 Hyperledger Iroha活用テクニック
A.1 ブロックチェーンの改ざん検知
A.1.1 ブロックチェーンの欠損
A.1.2 ブロックチェーンの改ざん①(トランザクションの作成者変更)
A.1.3 ブロックチェーンの改ざん②(処理内容)
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 ① VirtualBoxの準備
2.2.2 ② Ubuntuの準備
2.2.3 ③ Dockerのインストール
2.2.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サブメニュー①)
3.2.3 ドメインの作成(New transactionサブメニュー①)とトランザクションの確認(New transaction status requestサブメニュー)
3.2.4 アカウントの作成(New transactionサブメニュー②)
3.2.5 アセット作成(New transactionサブメニュー③)
3.2.6 アセットの加算(New transactionサブメニュー④)と残高確認(New queryサブメニュー②)
3.2.7 アセットの転送(New transactionサブメニュー⑤)と残高確認
3.2.8 トランザクションの内容確認(New queryサブメニュー③)
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 ブロックチェーンの改ざん①(トランザクションの作成者変更)
A.1.3 ブロックチェーンの改ざん②(処理内容)
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 例題「コワーキングスペース日本」のコード解説
参考文献
索引
続きを見る