暗号通貨に関する事など

暗号通貨に関する覚書など。メモや日記。

※技術的なことに関して、間違っていたらコメントから指摘していただけると泣いて喜びます

【仮想通貨NEM】 NEM2-CliでCatapultネットワークに触れる2


前回の続きです。


今回やること

 今回はTechBureauから公開されているCatapult Service Bootstrapを利用してDocker仮想環境上にmijinネットワークを構築して動かし、その内容を確認するところまでやります。


bootstrapのダウンロード

 まずは、下記リンクからTechBureauのGithubページに行ってcatapult-service-bootstrapのclone and downloadボタンからbootstrapのzipファイルをダウンロードしましょう。



 ダウンロードしたzipを解凍したら、ファイルの中にREADME.ja.mdがあります。日本語の説明文です。親切ですね。はい。これに従うだけです。


Docker docker-compose を使える状態にする

 bootstrapはdocker-composeを使います。Dockerが入ってない場合はまず最初にDockerを入れてください。ちなみに、私が今使っていバージョンは...

catapult-service-bootstrap-master$ docker --version
Docker version 18.05.0-ce, build f150324


catapult-service-bootstrap-master$ docker-compose --version
docker-compose version 1.21.2, build a133471

でした。


docker-compose upを叩くだけ

 ダウンロードしたcatapult-service-bootstrap-masterファイル上に移動し、docker-compose upを叩くだけです。READMEのとおりですね。


 ちなみに、私の環境(ubuntu 18.04 LTS)ではDockerを動かすときには管理者権限が必要になるので全部sudo付けています。


ネットワークの構成

 Catapultネットワークは二層で構成されています。ブロックの生成、承認、を行うネットワークとそのネットワークから情報を聞き出し、クライアントからのリクエストに答えるAPIネットワークの二層です。それ以前は(現在のNIS1では)これらは一つにまとめられていて一層です。
 図にしたので載せておきます。

 今回は、一番下のブロックチェーンネットワークは peer-node-0_1 と peer-node-1_1 の2つ、APIネットワークが api-node-0_1 のひとつ、クライアントが NEM2-Cli となります。


コンソールに吐き出される情報を見てみる

 docker-compose upを叩くとdocker仮想環境上でネットワークが構築され、勝手にネメシスブロックを生成し、ブロックチェーンネットワークが動き出します。


 ちょっと内容を見てみます。

peer-node-0_1 | 2018-07-02 03:00:10.499019 0x00007fef967fc700: (consumers::NewBlockConsumer.cpp@53) forwarding a new block with height 5390


新しいブロックをnode-0_1が見つけたよう。heightは5390 ( 暫く放置してた )

 こんな感じで何をやっているかが読めます。


Block height1の情報を取ってみる

 APIノードがクライアントからの要求を受け取るソケットは3000番のポートにbindされています。


 ということで、ちゃんと動いているかの確認も含めて、READMEにもありますが、block高さ1、つまりnemesisブロックの情報を取ってみましょう。クライアントは何でも良いですが、とりあえずブラウザを使えば良いと思います。(README はcurl使ってるけど)


 WebブラウザのURL欄に 「 localhost:3000/block/1 」を打ち込んでみましょう。

{"meta":{"hash":"C8F26B4BC7B2293BADA2D36115ABF23355B11521BAD2C92E4FA33632FAFB1E54","generationHash":"D17D69C0B81FDD6CEA58F43295D1A5952559F954F3DE8440C2AE8639E04876E2","totalFee":[0,0],"numTransactions":25,

,"blockTransactionsHash":"6E7B8D9AF96527EF6775D1AF06420881B809C6927E5258F75B5C074689E95F80"}}

 こんな感じでnemesisブロックのデータがとれます。


 テストネットの終了は Ctrl-C でinterrupt送れば勝手にいい感じに終了してくれます。


 また再開したければ初回同様catapult-service-bootstrap-masterファイル上に移動し、docker-compose upを叩くだけです。終了した時点のブロックから再開してくれます。



 今回はここまで(続く)

×

非ログインユーザーとして返信する