環境を構築し、CLI(コマンドラインインターフェース)である「iroha-cli」によってアセット移動(送金)などのトランザクションを実行してみます。10.14はじめにDockerを利用してIrohaの環境を構築していきます。コマンドの基本Irohaの環境構築IrohaはPostgreSQLを利用しています。そのためIrohaとPostgreSQLのコンテナ同士の通信をするためのネットワークが必要となります。今回は、公式ページ通りの「iroha-network」という名前のネットワークを作成しました。ls」コマンドで確認できます。iroha-networkce7c13b22a66efcb81c223ce98528a4415612bdcc3c15604b8756a1868c51236次にPostgreSQLコンテナを生成し起動させます。'max_prepared_transactions=100'5行目ネットワークオプションに、はじめに作成した「iroha-network」を指定しています。-pなどのオプションについては下記関連ページをご覧下さい。関連ページDockerでMySQLを利用するデータの永続化Irohaコンテナを生成し起動させる前に、ブロックチェーン等のデータを永続化するためのデータボリュームを作成します。公式ページ通りに名前を「blockstore」にしています。ls」コマンドで確認できます。[Dockerの永続化]Irohaコンテナの生成と起動Irohaのリポジトリをローカルにクローンします。--depth=1Irohaコンテナを起動させます。\hyperledger/iroha:develop4行目あらかじめ作成していたデータボリューム「blockstore」を指定しています。Irohaコンテナ内の/tmp/block_storeディレクトリと同期させています。上記コマンドでirohaコンテナが生成され起動に成功すると、実際にirohaのコンテナ内に入り下記のように表示されます。root@58f65c7ebe26:/opt/iroha_data#1root@58f65c7ebe26:/opt/iroha_data#別ターミナル画面を開き、コンテナの状態を確認してみます。STATUSがUpになっています。some-postgresiroha-cliを試す※以降のコマンドはIrohaコンテナ内での操作です。Irohaのノードを起動させます。ログが表示されるようになります。node0別ターミナル画面を開き、Irohaコンテナに接続します。コイン(Asset)を発行し、admin@testユーザーからtest@testユーザーへコインを送金してみます。最後には、保有する量を超えたコインを送金しようとしてリジェクトされる様子を記述しています。Irohaでアクションを実行するためのアカウントを指定します。用意されているtestドメインのadminユーザーを指定しています。ドメインはグループ化のための機能です。admin@testトランザクションを生成するため「1」を入力し確定します。1アセットを生成する項目を選択します。14アセットの名前・ドメインID・precisionを指定します。precisionは小数点のことで、2に指定すると10.50のようにアセットを指定することができます。仮に10.500だと無効となります。2更にコマンドを実行しトランザクションに加える項目を選択します。1アセットの量を決める項目を選択。16coolcoin#testに、20050の量を保有させます。20050引き続きコマンドを実行しトランザクションに加える項目を選択します。1次にアセットを移動させる項目を選択します。10050の量だけ移動させます。10050トランザクションをIrohaのPeer(ノード)に送信します。2Peerのアドレスとポート番号を設定。0180b7768a60e69f35a1ba3f3d1a8df9c4e865ad97453612f345238bb4df8015実際にアセットが移動したかを確認するため、クエリーを選択します。2アカウントのアセット量を調べる項目を選択。8調べるアカウントとアセットIDを設定。coolcoin#testPeerに送信。1実際にtest@testユーザーのBalanceが10050であることを確認できました。10050admin@testの残高も確認してみます。以下一連のコマンド操作です。10000トランザクションのリジェクト次にアセットの移動において超過額を指定し、わざとトランザクションをPeerに受け付けないようにします。最終的にトランザクションがPeerからリジェクトされていることを確認します。5超過額を指定しています。50051下記で表示されたhash値を利用します。3feac2725f35a2102dbd940ce4abdaade4b31848b0891ef10ba0740c0e99101eトランザクションのステータスを調べます。1調べるhash値(3feac〜)を設定し、Peerに送信します。1トランザクションが拒否されていることを確認。