MacでHyperledger/Iroha-v1.1の環境構築からチュートリアルまでえびでんす新卒エンジニアが独立するまでの過程を発信しています。公式ドキュメントではDockerコンテナ上に環境構築しますが、今回はホストのMac上に構築します。Hyperledger/Irohaソラミツ株式会社が主体となって開発している日本製のブロックチェーンプラットフォームコンソーシアム型(管理者が複数いるタイプ)のブロックチェーンで、デジタルアセットを(比較的)高速に記録することができます。Macをインストールします。バージョン指定は無さそうなので、latestバージョンを各OSのパッケージ管理ツールでインストールしても良いかと思います。以上で前提条件はクリアです。irohaノードを起動するトランザクションを処理するノードを起動していきます。コマンドは基本的にドキュメントに書いてある通りです。データベースが必要です。PostgresとIroha用のコンテナが同じ仮想ネットワーク上で実行され、正常に通信が行われるようにするために、dockerネットワークを使用します。iroha-network`PostgreSQLのコンテナを起動コンテナ内でPostgreSQLを実行し、これまでに作成したネットワークに接続し、通信用ポートを公開します。postgres:9.5このとき、ホスト側のポート5432がすでに使われている場合は適宜変更してください。僕は5433を使用しています。5433:5432Blockstoreを作成Dockerコンテナはデータが揮発性で一度stopさせるとデータが消えてしまいます。そこで、ホスト側に今後ファイルやブロックチェーンを保存していくボリュームを作成します。--depth=1rohaデーモンをインストールここからは[別のドキュメント](https://hyperledger.github.io/iroha-api/#linux-or-macos)を参照していきます。irohaこれでMacターミナルでirohad,iroha-cliコマンドが使えるようになったかと思います。example/node0起動時にgenesisブロックのパースでエラーが生じる場合もありますがgenesis.blockを作り直すことでエラーを回避することができます。peers.listgenesis.blockを作り直した後、再びirohadコマンドを実行して、デーモンを起動してください。以上でIrohaノードが完成です。Irohaネットワークを操作してみるクライアントライブラリを使用することで、さまざまなプログラミング言語(Java、Python、Javascript、Swiftなど)でIrohaと通信するためのコードを記述できます。“iroha-cli“を使うこともできます。“iroha-cli“を使って説明していきます。文字で読むよりも、公式ドキュメントの動画をみる方がわかりやすいかと思います。アカウントにログインここからは。デーモンを起動中のターミナルとは別に、新しくターミナルを起動して操作してください。iroha/example内にテスト用アカウントが用意されているのでこれを使います。「iroha-cli」のインターフェースが起動しているはずです。(st)バージョンによってコマンドの並び順が違うこともありますが、同じものが用意されているはずです。1(もしくはtx)を入力してトランザクションを作成しましょう。(b)まずはアセットの作成します(ここでは6または”crt_ast”を入力)次に、アセット名、ドメイン、精度(桁数)を入力します。2本来、ドメインは予め作成する必要がありますが、テスト用のtestが用意されています。アセット名はなんでも良いです。今回はドキュメント通り`coolcoin`とします。トランザクションをIrohaノードに送信してみましょう。(b)2もしくはsendを入力します。Irohaノードのアドレスとポートを聞かれるので適宜入力してください。初期設定では以下の通りです。50051送信できたら、トランザクションのハッシュ値が帰ってくると思います。(st)無事にトランザクションが処理されたか、確認してみましょう。3もしくはstを入力してください。(b)もちろん1です。hash:ハッシュ値の入力を求められます。先ほどトランザクションを送信したときに表示されたハッシュ値をコピペしましょう。(b)ハッシュ値が認識されましたね。そのまま1を入力してIrohaノードに送信して問い合わせます。committed.無事成功していましたね。ちなみに、アセットを作成する際にテスト用のドメインを使いましたが、無効なドメインを設定するとトランザクションが処理されません。validation.次から送金トランザクションの説明をしますが、送金の場合も残高以上のアセット量を送信しようとすると同様にトランザクションが無効なものとして破棄されます。送金元のアカウントに残高がないと何もできないので、まずは残高を設定します。Quantityを選択してくださいアカウントID、アセットID、アセット量の入力が求められるので適宜入力してください。2これでadmin@testアカウントに200.5coolcoinが設定されました。次に、admin@testからtest@testに送金をしてみましょう。2これはadmin@testからtest@testへcoolcoin#testを100.5送信するトランザクションです。例によって、Irohaノードへ送信してください。最後に、本当に送金が行われたかどうか確認します。test@testアカウントの残高を参照するクエリを作成します。正常にトランザクションが処理されていたら、100.5coolcoinが表示されるはずです。coolcoin#test例によってIrohaノードに送信してください。100.50無事送金されていることが確認できましたね。以上で環境構築からチュートリアルまで終了です。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。MacでHyperledger/Iroha-v1.1の環境構築からチュートリアルまでプログラミングABOUTこの記事をかいた人ebijun青森県出身。公立はこだて未来大学に進学し、プログラミングを学びました。新卒で入社前にロシアに飛ばされかけましたが、なんやかんや都内でWebエンジニアとして働いています。色々なところを転々と旅しながら生きるのが夢です。【GASで】Googleフォームに自動返信を実装するRECOMMENDこちらの記事も人気です。(8)プロフィールえびじゅんえびじゅんです。Web系ベンチャーでエンジニアしてる新卒です。3年ぐらい働いてスキルつけたら、仕事辞めて旅に出るのが夢です。