symbolをプライベートネットワークで動かして実験します。
1312 views
https://docs.symbolplatform.com/ja/guides/network/creating-a-private-test-net.html
https://github.com/nemtech/symbol-bootstrap
を参考に環境構築を行ったがうまく行かなかったため、動かすための手順をまとめた。
環境構築でうまく行かない場合、基本的に後述する前提プログラムにある注意事項がポイント。
作成する環境については以下と同じ環境である。
bootstrapプリセット
本環境構築はwindows 10 proで行う。
windowsに以下の前提プログラムがインストールされていること。
注意事項
[AVX2命令に対応しているかを調べるには]
以下のサイト等を参考に調べることができる。
https://blog.treedown.net/entry/2019/09/06/003000
symbol-cliはsymbolサーバにアクセスするためのコマンド。次のコマンドを実行してインストールする。
npm install --global symbol-cli
本節では、プライベートネットワークを構築する手順について記す。
1. ディレクトリの作成
作業を行うためのディレクトリを作成して移動する。
本手順では、C:\Users<ユーザ名>\node\symbolで作業する前提である。
C:\Users\<ユーザ名>\node\symbol
cd C:\Users\<ユーザ名>\node\symbol
2. symbol-bootstrapをインストールする
以下のコマンド実行し、symbol-bootstrapをインストールする。
symbol-bootstarpはnpmモジュールである。
npm install -g symbol-bootstrap
3. プライベートネットワークの設定ファイルを作成する
以下のコマンドを実行して、プライベートネットワークの設定ファイルを生成する。
symbol-bootstrap config -p bootstrap
以下の画面が起動したら、自分で決めたパスワードを入力する。
4. 設定ファイルの確認
以下のファイルがあることを確認する。
C:\Users\<ユーザ名>\node\symbol\address.yml
5. 設定ファイルを複合する
3.で作成された設定ファイルには、テスト用のユーザ情報が記述されているがprivate keyが暗号化されているため、次のコマンドを実行してパスワードを復号する。
復号に使用するパスワードは3.で入力したパスワードである。
symbol-bootstrap decrypt --password <パスワード> --source target/addresses.yml --destination tmp_addresses.yml
復号が成功すると、以下のファイルが作成される。
C:\Users\<ユーザ名>\node\symbol\tmp_addresses.yml
6. symbolのプライベートネットワークを起動する
以下のコマンドを実行して、symbolのプライベートネットワークを起動する。
symbol-bootstrap start
起動時にパスワードを聞かれる。パスワードは3.で指定したパスワードを入力する。
7. 起動の確認1 *
WEBブラウザから以下のURLを入力し、次のようなメッセージが得られることを確認する
*URL
http://localhost:3000/chain/info
{"scoreHigh":"0","scoreLow":"739501132911546","height":"10","latestFinalizedBlock":{"finalizationEpoch":1,"finalizationPoint":1,"height":"1","hash":"6C4BDD89D7033CB0A86E659DB3A1CF86233653D91E73DB4302F50C884B1566E7"}}
8. 起動の確認2
3.で作成されたtmp_addresses.ymlをテキストエディタで開き、mainユーザのプライベートキー(11行目)をコピーする。
コピーしたプライベートキーを以下のコマンドの<デコードしたプライベートキー>に置き換え、実行する。
注意事項にも記載したが、dockerをwsl2で動かしていると、ここで失敗する。
symbol-cli profile import --private-key <デコードしたプライベートキー> --network TEST_NET --url http://localhost:3000
プロファイル名、パスワード、デフォルトのプロファイルにするかどうかを指定する。
C:\Users\konishi>symbol-cli profile import --private-key <デコードしたプライベートキー> --network TEST_NET --url http://localhost:3000
√ Enter a profile name: ... mytestnet
√ Enter your wallet password: ... ********
√ Do you want to set the account as the default profile? ... yes
Account
┌───────────────┬──────────────────────────────────────────────────────────────────────┐
│ Property │ Value │
├───────────────┼──────────────────────────────────────────────────────────────────────┤
│ Address │ TDTK3D-RDRZ5F-TNFKBI-RPXIYF-G3EJ5O-Y65PR5-4AI │
├───────────────┼──────────────────────────────────────────────────────────────────────┤
│ Public Key │ 9BC7220922D8ACAA02AB70F290AD63CFE3E9BA1C968EDE67F7FA1F9C33D18AB1 │
├───────────────┼──────────────────────────────────────────────────────────────────────┤
│ Private Key │ <デコードしたプライベートキー> │
├───────────────┼──────────────────────────────────────────────────────────────────────┤
│ Password │ 入力したパスワード │
└───────────────┴──────────────────────────────────────────────────────────────────────┘
以下のコマンドを実行する。 <PROFILE_NAME>には上記のコマンドで作成したプロファイル名を入力する(mytestnet)。
symbol-cli account info --profile <PROFILE_NAME>
以下のような画面が表示されることを確認する。
Page 2 of 6.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/