5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

カタパルトのpublic-testとmijin-test

Last updated at Posted at 2019-12-12

はじめに

カタパルトには、パブリックチェーンとプライベートチェーンどちらにも使えるようになっています。

そして、テストモードと本番モードも用意されています。

それらは設定ファイルで変えることができます。

この記事は、マイルストーンfushicho 3時点のものです。

catapult-service-bootstrap

rubyによる設定ファイルの自動生成と、docker-composeを使ったコンテナーの一括コントロールができるツールセットです。

public-test

public-testで立ち上げるには、masterブランチを使います。

mijin-test

mijin-testで立ち上げるには、mijin-test-0.9.0.1ブランチを使います。ただし、こちらはまだfushicho 2のものです。

diff

public-testとmijin-testの違いがあります。

epochAdjustmentmaxHarvesterBalanceの設定などは、fushicho 2とfushicho 3の差分です。

catapult-rest

REST APIの応答も少し異なってきます。

public-test

/network

publicTestとなっています

image.png

/node/info

networkIdentifier: 152となっています

image.png

/node/time

image.png

mijin-test

/network

mijinTestとなっています

image.png

/node/info

networkIdentifier: 144となっています

image.png

/node/time

image.png

nem2-sdk-typescript-javascript

NetworkTypeでの使い分けをします。

public-testの場合は、NetworkType.MIJIN_TESTを使用します。

mijin-testの場合は、NetworkType.TEST_NETを使用します。

ハッシュ関数

また、使用するハッシュ関数も異なります。

以下のように、public-testとmijin-testで、同じ秘密鍵から公開鍵とアドレスを導出してみます。

nem2-sdk@0.16.0でやります。

process.env.PRIVATE_KEY = '25B3F54217340F7061D02676C4B928ADB4395EB70A2A52D2A11E2F4AE011B03E';

const {
    Account,
    NetworkType
} = require('nem2-sdk');

const publicTestAccount = Account.createFromPrivateKey(process.env.PRIVATE_KEY, NetworkType.TEST_NET);
console.log(publicTestAccount.privateKey, publicTestAccount.publicKey, publicTestAccount.address.plain());

const mijinTestAccount = Account.createFromPrivateKey(process.env.PRIVATE_KEY, NetworkType.MIJIN_TEST);
console.log(mijinTestAccount.privateKey, mijinTestAccount.publicKey, mijinTestAccount.address.plain());

結果はこのようになります。秘密鍵は同じですが、導出される公開鍵が異なります。

// public-test
private: 25B3F54217340F7061D02676C4B928ADB4395EB70A2A52D2A11E2F4AE011B03E
public : 5F247764C644A8A0A0E041115547AC8E0CC5F9ECB42C40E75C683C1D13F1E79D
address: TDYF3QKKPYMXTGZODND6X3O5FLVB3GBYMFQG4PEU

// mijin-test
private: 25B3F54217340F7061D02676C4B928ADB4395EB70A2A52D2A11E2F4AE011B03E
public : AC1A6E1D8DE5B17D2C6B1293F1CAD3829EEACF38D09311BB3C8E5A880092DE26
address: SCA7ZS2B7DEEBGU3THSILYHCRUR32YYE55ZBLYA2

この違いはハッシュ関数です。public-testはkeccakを使い、mijin-testはsha3を使っているためです。

おわりに

catapult-service-bootstrapとREST API、nem2-sdk-typescript-javascript、そしてハッシュ関数によるアカウント生成の違いをみていきました。

public-testとmijin-testの設定の違いでそれなりに変わってくるので、よくわからないエラーに陥ったときはこの設定が間違っていないかを疑ってみるとよいかもしれません。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?