Symbol (NEM2/NIS2 catapult カタパルト) テストネットノードは簡単に立ち上げられます
(2020-03-19サイト更新:バージョン 0.9.3.x catapult から symbol へリネームされました

以前のバージョンを動かしていた場合は

% docker-compose down

で稼働を止めて。

symbol-testnet-bootstrap か catapult-testnet-bootstrap ディレクトリをまるごと削除。

% docker system prune -a

で docker のイメージキャッシュを削除。
)

https://github.com/nemfoundation/catapult-testnet-bootstrap
https://github.com/nemfoundation/symbol-testnet-bootstrap

docker と docker-composer が必要です。

Gitで最新版を持ってきましょう。

% git clone https://github.com/nemfoundation/symbol-testnet-bootstrap.git
Cloning into 'symbol-testnet-bootstrap'...
remote: Enumerating objects: 369, done.
remote: Counting objects: 100% (369/369), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 369 (delta 160), reused 336 (delta 132), pack-reused 0
Receiving objects: 100% (369/369), 641.32 KiB | 491.00 KiB/s, done.
Resolving deltas: 100% (160/160), done.


% cd symbol-testnet-bootstrap

Symbol ( catapult ) テストノードはピアアッセンブリー ( Peer assembly ) とAPIハーベストアッセンブリー ( API harvest assembly ) の2つがあります。やりたいことに合わせてインストール。

  • Peer assembly: トランザクションの検証や破棄、コンセンサスアルゴリズム稼働、新規ブロックの生成、ネットワークに変更を伝播などを行います。
  • API harvest assembly: ピアノードに加え、検証されたトランザクションから可読データを保存。さらにアグリゲートボンドトランザクションの一部を処理できます。読み書きできるRESTゲートウェイを提供。

% cd api-harvest-assembly

% sudo docker-compose up --build --detach
Creating network "api-harvest-assembly_default" with the default driver
Pulling generate-raw-addresses (techbureau/catapult-tools:gcc-keccak-0.9.1.1)...
gcc-keccak-0.9.1.1: Pulling from techbureau/catapult-tools
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
15f24537b9ef: Pull complete
Digest: sha256:e4c3acb595037987034426be87fc9483d859f7bb0341770f5bf366e8840eab6e
Status: Downloaded newer image for techbureau/catapult-tools:gcc-keccak-0.9.1.1
Building store-addresses
Step 1/5 : FROM alpine:3.7
 ---> 6d1ef012b567
Step 2/5 : RUN apk add --no-cache ruby ruby-bundler
 ---> Using cache
 ---> 0378f311656e
Step 3/5 : RUN gem install mustache --no-ri --no-rdoc
 ---> Using cache
 ---> 76a499571305
Step 4/5 : RUN mkdir -p /usr/share/base/
 ---> Running in ea426903a680
Removing intermediate container ea426903a680
 ---> ddd9b5db9144
Step 5/5 : WORKDIR  /usr/share/base/
 ---> Running in 63498e70f21d
Removing intermediate container 63498e70f21d
 ---> 53edff8f252a
Successfully built 53edff8f252a
Successfully tagged api-harvest-assembly_store-addresses:latest
Building update_vars
Step 1/5 : FROM alpine:3.7
 ---> 6d1ef012b567
Step 2/5 : RUN apk add --no-cache ruby ruby-bundler
 ---> Using cache
 ---> 0378f311656e
Step 3/5 : RUN gem install mustache --no-ri --no-rdoc
 ---> Using cache
 ---> 76a499571305
Step 4/5 : RUN mkdir -p /usr/share/base/
 ---> Using cache
 ---> ddd9b5db9144
Step 5/5 : WORKDIR  /usr/share/base/
 ---> Using cache
 ---> 53edff8f252a
Successfully built 53edff8f252a
Successfully tagged api-harvest-assembly_update_vars:latest
Pulling api-node (techbureau/catapult-server:gcc-keccak-0.9.1.1)...
gcc-keccak-0.9.1.1: Pulling from techbureau/catapult-server
7ddbc47eeb70: Already exists
c1bbdc448b72: Already exists
8c3b70e39044: Already exists
45d437916d57: Already exists
64b6f6906be3: Pull complete
Digest: sha256:c03ae7b62a16c778655b27688d936859af8136b73427f6b7ba3f25788a456a41
Status: Downloaded newer image for techbureau/catapult-server:gcc-keccak-0.9.1.1
Pulling rest-gateway (nemfoundation/catapult-rest-f2-edge:commit-02aeeeb)...
commit-02aeeeb: Pulling from nemfoundation/catapult-rest-f2-edge
5d20c808ce19: Already exists
40c55d63a25b: Pull complete
c35cd0fdd247: Pull complete
1252dccd7484: Pull complete
38819978f426: Pull complete
0f383df190d2: Pull complete
caa95d2b987e: Pull complete
52a57e1db809: Pull complete
Digest: sha256:b8e5d71ce553c3b67657d113cf02102664d3acdc44f7ef879c2bcd0448cf0ea8
Status: Downloaded newer image for nemfoundation/catapult-rest-f2-edge:commit-02aeeeb
Creating api-harvest-assembly_db_1                     ... done
Creating api-harvest-assembly_generate-raw-addresses_1 ... done
Creating api-harvest-assembly_update_vars_1            ... done
Creating api-harvest-assembly_store-addresses_1        ... done
Creating api-harvest-assembly_api-node_1               ... done
Creating api-harvest-assembly_api-broker_1             ... done
Creating api-harvest-assembly_init-db_1                ... done
Creating api-harvest-assembly_rest-gateway_1           ... done

初回はイメージダウンロードがあります。起動まで完了します。

API harvest assembly をインストールしたら、以下のURLをブラウザで開くと、稼働しているか確認できます。
http://localhost:3000/chain/height

停止は
% sudo docker-compose stop
Stopping api-harvest-assembly_rest-gateway_1 ... done
Stopping api-harvest-assembly_api-broker_1   ... done
Stopping api-harvest-assembly_api-node_1     ... done
Stopping api-harvest-assembly_db_1           ... done

詳細な情報等はNEM developer center へ

https://nemtech.github.io/guides/network/running-a-test-net-node.html

Comments