3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

nem / symbolAdvent Calendar 2024

Day 25

手動でSymbolノードアカウントのキーリンク

Last updated at Posted at 2024-12-24

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を変更します。

  • enableVotingtrueに変更
  • unfinalizedBlocksDuration0mに変更
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を変更します。

  • rolesVotingを追加
resources/config-node.properties
[localnode]
...
roles = Peer,Api,Voting
...

resources/config-user.propertiesvotingKeysDirectoryを確認。

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
3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?