カタパルトのpublic-testとmijin-test
はじめに
カタパルトには、パブリックチェーンとプライベートチェーンどちらにも使えるようになっています。
そして、テストモードと本番モードも用意されています。
それらは設定ファイルで変えることができます。
この記事は、マイルストーン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の違いがあります。
epochAdjustment
とmaxHarvesterBalance
の設定などは、fushicho 2とfushicho 3の差分です。
catapult-rest
REST APIの応答も少し異なってきます。
public-test
/network
publicTest
となっています
/node/info
networkIdentifier: 152
となっています
/node/time
mijin-test
/network
mijinTest
となっています
/node/info
networkIdentifier: 144
となっています
/node/time
nem2-sdk-typescript-javascript
NetworkType
での使い分けをします。
public-testの場合は、NetworkType.MIJIN_TEST
を使用します。
mijin-testの場合は、NetworkType.TEST_NET
を使用します。
ハッシュ関数
また、使用するハッシュ関数も異なります。
以下のように、public-testとmijin-testで、同じ秘密鍵から公開鍵とアドレスを導出してみます。
[email protected]
でやります。
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の設定の違いでそれなりに変わってくるので、よくわからないエラーに陥ったときはこの設定が間違っていないかを疑ってみるとよいかもしれません。
Author And Source
この問題について(カタパルトのpublic-testとmijin-test), 我々は、より多くの情報をここで見つけました https://qiita.com/planethouki/items/16b8be96d481ecf2504d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .