本ファイルは、第3章で入力するコマンドなどを記述しています。

*irohaコンテナが動作している状況で実施してください
 sudo docker start iroha

[3.1.4　irohaコンテナ]
参考：秘密鍵と公開鍵の作成方法(第4章にて解説します)
cd ~/node_modules/iroha-helpers/example
node ed25519_keygen.js

ブロックストア(Terminal 3-1-1:irohaコンテナ) RocksDBを使用する場合、/tmp/block_store/ディレクトリに格納されているファイルは異なります。
sudo docker exec -it iroha /bin/bash
ls /tmp/block_store/ -l
exit


RocksDBを使用する場合、some-postgresコンテナにWorld State Viewは作成されません。
そのため、[3.1.5　some-postgresコンテナPostgreSQLデータベース World State View]は、実施できません。


[3.2.1　iroha-cliコマンドの概要]

*irohaコンテナでirohadプロセスが起動している状態で実施します
 sudo docker exec -it iroha /bin/bash
 irohad --config config.docker --keypair_name node0
 この端末は放置して別の端末で以下を実施します

iroha-cliコマンドの起動例(以後はメニュー出力は省略)(Terminal 3-2-1:irohaコンテナへ接続)
sudo docker exec -it iroha /bin/bash 
iroha-cli -account_name admin@test
> : Ctrl+C


[3.2.2　情報確認]
adminロールに付与されている権限を一覧表示する操作 (Terminal 3-2-2:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 1
admin
> : 1


> : Ctrl+C


coin#testアセットの情報を表示する操作 (Terminal 3-2-3:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 2
coin#test
> : 1


> : Ctrl+C


admin@testアカウントの情報を表示する操作 (Terminal 3-2-4:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 9
admin@test
> : 1


> : Ctrl+C


[3.2.3　 ドメインの作成]
nihonドメインを作成する操作(Terminal 3-2-5:irohaコンテナ)
iroha-cli -account_name admin@test
> : 1
> : 10
nihon
money_creator
> : 4


> : Ctrl+C


トランザクションの結果を確認する操作(Terminal 3-2-6:irohaコンテナ)
iroha-cli -account_name admin@test
> : 3
> : 1
> : ドメイン作成のトランザクションのハッシュ値
> : 1


> : Ctrl+C


[3.2.4　アカウントの作成]

参考(第4章で実行可能になります)
ed25519_keygen.jsプログラムによるキーペアの作成(Terminal 3-2-7)
cd ~/node_modules/iroha-helpers/example
node ed25519_keygen.js
node ed25519_keygen.js
node ed25519_keygen.js


irohaコンテナのホームディレクトリでキーペアファイルを作成する操作(Terminal 3-2-8:irohaコンテナ)
cd /opt/iroha_data/
echo -n "cb51d458e1031c6a3bc4c1f81baca6ef043893b30c0ae89458432124a97ec02e" > kanri@nihon.pub
echo -n "a5d6f8fa4d0c358dc5218e4bcaf46e175b0fbc4cb80d0a00e562e1dc50f6d4a6" > kanri@nihon.priv
echo -n "94a53212a5deb227eadc135ddee911644e21a25bed30576d0604e256a09ed1e2" > tantou@nihon.pub
echo -n "df78364693db14fcc782fcc8e009100c82418b630e379aa2c77deb9526a20d03" > tantou@nihon.priv
echo -n "c1a418fe14f99cc5dcfab88773b2ee9f5710478a585d30763db68e8cb2737e90" > user@nihon.pub
echo -n "ea0c98a8eeaa6d637f1e0a01a3a62152518dd567c400bcfa9f4974182773bad0" > user@nihon.priv


3つのアカウント（kanri@nihon、tantou@nihon、user@nihon）を作成する操作(Terminal 3-2-9:irohaコンテナ)
iroha-cli -account_name admin@test
> : 1
> : 12
kanri
nihon
cb51d458e1031c6a3bc4c1f81baca6ef043893b30c0ae89458432124a97ec02e
> : 3
> : 12
tantou

94a53212a5deb227eadc135ddee911644e21a25bed30576d0604e256a09ed1e2
> : 3
> : 12
user

c1a418fe14f99cc5dcfab88773b2ee9f5710478a585d30763db68e8cb2737e90
> : 4


> : Ctrl+C


admin@testアカウントに詳細情報の設定および詳細情報を確認する操作(Terminal 3-2-10:irohaコンテナ)
iroha-cli -account_name admin@test
> : 1
> : 4
admin@test
BD
20190812
> : 3
> : 4

Expires
20220906
> : 4


> : 2
> : 9
admin@test
> : 1


> : Ctrl+C


[3.2.5　アセット作成]
3つのアセット（prepay#nihon、ticket#nihon、total#nihon）を作成する操作(Terminal 3-2-11:irohaコンテナ)
iroha-cli -account_name admin@test
> : 1
> : 14
prepay
nihon
2
> : 3
> : 14
ticket

0
> : 3
> : 14
total

1
> : 4


> : Ctrl+C


[3.2.6　 アセットの加算]
kanri@nihonアカウントにprepay#nihonアセットとticket#nihonアセットと total#nihonアセットを加算する操作(Terminal 3-2-12:irohaコンテナ)
iroha-cli -account_name kanri@nihon
> : 1
> : 16
prepay#nihon
100.55
> : 3
> : 16
ticket#nihon
20
> : 3
> : 16
total#nihon
300.5
> : 4


> : Ctrl+C


kanri@nihonアカウントのアセット残高確認する操作(Terminal 3-2-13:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 8
kanri@nihon
prepay#nihon
> : 1


> : Ctrl+C


[3.2.7　 アセットの転送]
kanri@nihonアカウントからtantou@nihonアカウントへのアセットを転送する操作(Terminal 3-2-14:irohaコンテナ)
iroha-cli -account_name kanri@nihon
> : 1
> : 5
kanri@nihon
tantou@nihon
prepay#nihon
10.5
> : 3
> : 5


ticket#nihon
2
> : 3
> : 5


total#nihon
30.1
> : 4


> : Ctrl+C


tantou@nihonアカウントとkanri@nihonアカウントのアセット残高を確認するための操作(Terminal 3-2-15:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 8
tantou@nihon
prepay#nihon
> : 1


> : 2
> : 8
kanri@nihon

> : 1


> : Ctrl+C


[3.2.8　トランザクションの内容確認]
トランザクションを参照する操作(Terminal 3-2-16:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 7
ドメイン作成のトランザクションのハッシュ値
> : 1


> : Ctrl+C

*irohadプロセス停止とirohaコンテナからDockerホストり各コンテナの停止
Ctrl+C
exit
sudo docker stop iroha


*アドバイス：Dockerインストール終了時点で仮想PCをクローンするなど現在の状態を保存することをお薦めします。
 第4章は、この時点からスタートすることを想定しています。


[3.3.1　Hyperledger Iroha環境の再構築方法]

* root 権限が使用可能なりました。
  root権限を設定した superロールを作成して、admin@testにセットするgenesis.blockファイルを用意しました。
  Iroha_Sample2.zipに格納したgenesis.blockファイルをUbuntuデスクトップに配置して、以下の手順で置き換えてください。


genesis.blockファイルのバックアップとコピーする操作(Terminal 3-3-2:Dockerホスト)
sudo cp ~/iroha/example/genesis.block ~/iroha/example/genesis.block.org
sudo cp ~/デスクトップ/genesis.block ~/iroha/example/




*irohaコンテナが動作している状況で実施してください
 sudo docker start iroha



irohadプロセスの起動(強制的に初期化、2021年12月21日時点で--overwrite_ledgerで初期化されないため事前にWSVを手動で削除)(Terminal 3-3-4:irohaコンテナ)
sudo docker exec -it iroha /bin/bash
rm /tmp/block_store/*

irohad --config config.docker --genesis_block genesis.block --keypair_name node0 --overwrite_ledger

 この端末は放置して別の端末で以下を実施します


[3.3.2　ロールの作成と権限の確認]
testロールを作成する操作(Terminal 3-3-5:irohaコンテナ)
sudo docker exec -it iroha /bin/bash
iroha-cli -account_name admin@test
> : 1
> : 3
test
1
1
1
1
1
1
1
1
> : 4


> : Ctrl+C


testロールの権限を確認するための操作(Terminal 3-3-6:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 1
test
> : 1


> : Ctrl+C


admin@testアカウントへのtestロールの付与および確認する操作(Terminal 3-3-7:irohaコンテナ)
iroha-cli -account_name admin@test
> : 1
> : 2
admin@test
test
> : 4


> : 2
> : 9
admin@test
> : 1


> : Ctrl+C


[3.3.3　アセットの減算]
admin@testアカウントのcoin#testアセットの減算と残高確認の操作(Terminal 3-3-8:irohaコンテナ)
iroha-cli -account_name admin@test
> : 2
> : 8
admin@test
coin#test
> : 1


> : 1
> : 7
coin#test
3.1
> : 4


> : 2
> : 8


> : 1


> : Ctrl+C


*irohadプロセスを停止してDockerホストに戻り各コンテナ停止
Ctrl+C
exit
sudo docker stop iroha
