symbol-cli のインストールと設定
npm i -g symbol-cli
プロファイルを設定します。
symbol-cli profile import --network TEST_NET --url http://localhost:3000 --default
✔ Enter a profile name: … TestNet
✔ Select an import type: › PrivateKey
✔ Enter your wallet password: … ********
✔ Enter your account private key: … ****************************************************************
- Enter a profile name: 任意のプロファイル名を入力
- Select an import type: PrivateKey を選択
- Enter your wallet password: プロファイル保護のためのパスワードを入力
- Enter your account private key: ノードのメインアカウントの秘密鍵を入力
プロファイルは~/symbol-cli.config.json
に保存されます。
ハーベストのためのリンク
リモートキー
symbol-cli transaction accountkeylink --sync --action Link \
--max-fee 100000 --mode normal
✔ Enter your wallet password: … ********
✔ Enter the public key of the remote account: … ****************************************************************
- Enter your wallet password: プロファイルのパスワードを入力
- Enter the public key of the remote account: リモートアカウントの公開鍵を入力
リモートアカウントは、resources/config-harvesting.properties
の harvesterSigningPrivateKey に設定しているアカウントです。
VRF キー
symbol-cli transaction vrfkeylink --sync --action Link \
--max-fee 100000 --mode normal
✔ Enter your wallet password: … ********
✔ Enter the public key to link: … ****************************************************************
- Enter your wallet password: プロファイルのパスワードを入力
- Enter the public key to link: VRF アカウントの公開鍵を入力
VRF アカウントは、リモートアカウントは、resources/config-harvesting.properties
の harvesterVrfPrivateKey に設定しているアカウントです。
投票キー
ノード設定の変更
resources/config-finalization.properties
を変更します。
-
enableVoting
をtrue
に変更 -
unfinalizedBlocksDuration
を0m
に変更
resources/config-finalization.properties
[finalization]
enableVoting = true
enableRevoteOnBoot = false
size = 10'000
threshold = 6'700
stepDuration = 4m
shortLivedCacheMessageDuration = 10m
messageSynchronizationMaxResponseSize = 20MB
maxHashesPerPoint = 256
prevoteBlocksMultiple = 4
unfinalizedBlocksDuration = 0m
treasuryReissuanceEpoch = 0
[treasury_reissuance_epoch_ineligible_voter_addresses]
resources/config-node.proper
を変更します。
-
roles
にVoting
を追加
resources/config-node.properties
[localnode]
...
roles = Peer,Api,Voting
...
resources/config-user.properties
のvotingKeysDirectory
を確認。
resources/config-user.properties
[account]
enableDelegatedHarvestersAutoDetection = true
[storage]
seedDirectory = /opt/symbol-node/seed
certificateDirectory = /opt/symbol-node/certificates
dataDirectory = /opt/symbol-node/data
pluginsDirectory = /usr/local/catapult/lib
votingKeysDirectory = /opt/symbol-node/votingkeys
投票キーの生成
投票キーを保存するディレクトリを作成。
mkdir votingkeys
投票キー生成時に有効期間のエポックを設定します。最大は 360 です。
新しい投票キーを作成する場合は、別ファイル名で作成してください。
catapult.tools.votingkey --output votingkeys/private_key_tree1.dat \
--startEpoch 2730 --endEpoch 3090
Voting Key Tool
Copyright (c) Jaguar0625, gimre, BloodyRookie, Tech Bureau, Corp.
catapult version: 1.0.3.7 00387bf00 [HEAD]
Voting Key Tool Initializing Logging...
Initializing OpenSSL crypto functions
generating 361 keys, this might take a while
votingkeys/private_key_tree1.dat generated
verifying generated file
saved voting public key: ****************************************************************
loaded voting public key: ****************************************************************
投票キーのリンク
symbol-cli transaction votingkeylink --sync --action Link \
--max-fee 100000 --mode normal
✔ Enter your wallet password: … ********
✔ Enter the public key of the voting key account: … ****************************************************************
✔ Enter the start point: … 2730
✔ Enter the end point: … 3090
- Enter your wallet password: プロファイルのパスワードを入力
- Enter the public key of the voting key account: 投票キー生成時に取得した投票公開鍵を入力
- Enter the start point: 投票キー生成時に設定した開始エポックを入力
- Enter the end point: 投票キー生成時に設定した終了エポックを入力
ノードの起動
ノードの停止
sudo systemctl stop symbol
今までのデータは使用できないパターンが多い(原因は不明)ので、データ削除した方が無難です。
rm -rf data/*
rm -rf dbdata/*
cd mongo
sudo systemctl start symbol-db
mongosh catapult mongoDbPrepare.js
sudo systemctl stop symbol-db
ノードの開始
sudo systemctl start symbol