このガイドでは Symbol の パブリックネットワーク へ参加するために、ノードをセットアップする方法を説明します。
メインパブリックネットワーク (mainnet) ではなく、テストネットワーク (testnet) に接続することで Symbol ネットワークへの接続を安全に試すことができます。ただしテストネットはテスト目的で広く使用されるため 予告なしに停止されたり、置き換えられる可能性があります 。プライベート環境のネットワークで作業する場合は 学習および開発目的のローカルネットワーク をインストールしてください。
ネットワークを実行するため、 Symbol Bootstrap パッケージを使用します。このパッケージの動作をより理解するために Symbol Bootstrap の使用 ガイドを読むことを推奨します。
ブロックチェーンノードの実行は、ディスクスペース、メモリ、および CPU 要件の点で 非常に要求が厳しい です。 以下の最小要件 を満たさない場合、ネットワークの残りの部分に追いつくのに苦労するノードが生成されます。グローバルブロックチェーンは影響を受けませんが、ノードがノード報酬を収集する資格があることはめったにありません。
注釈
専用のCPUとRAM を使用することを 強く推奨 します。共有 (一部の仮想サーバプロバイダのように) の場合、パフォーマンスに大きな影響があります。
要求事項 |
Peer ノード |
API ノード |
デュアル&投票ノード |
---|---|---|---|
CPU |
2 コア |
4 コア |
4 コア |
RAM |
8GB |
16GB |
16GB |
ディスクサイズ |
500 GB |
750 GB |
750 GB |
ディスク速度 |
次の表に 推奨要件 を示します。これらを使用すると、よりスムーズなエクスペリエンスが提供され、ある程度の将来的な保証が提供されます。
要求事項 |
Peer ノード |
API ノード |
デュアル&投票ノード |
---|---|---|---|
CPU |
4 コア |
8 コア |
8 コア |
RAM |
16GB |
32GB |
32GB |
ディスクサイズ |
500 GB |
750 GB |
750 GB |
ディスク速度 |
testnet
と mainnet
プリセットSymbol Bootstrap は適切なパブリックネットワークに接続するノードをインスタンス化する testnet
および mainnet
のプリセットがあります。このノードの特定の機能は assembly
オプションによって選択されます。
このガイドでは、例として testnet
を使用しています。これは mainnet
に変更することができます。
Peer ノード は harvester ノードとも呼ばれ、ネットワークの大黒柱です。主にトランザクションを検証して、ブロックチェーンに新しいブロックを追加し、その過程で手数料を徴収します。
symbol-bootstrap start -p testnet -a peer
API ノード は REST API を介して、外部からのアクセスを提供します。
symbol-bootstrap start -p testnet -a api
ノードが立ち上がっていて、実行されていることを確認するために、新しいブラウザタブを開いて localhost:3000/chain/info
にアクセスしてください。API ノードからのレスポンスを得ることができるはずです。
API ノードは Peer ノードよりも多くのメモリとストレージを必要とします。もしメモリやストレージに制約がある場合は、Peer ノードを変わりに起動することを推奨します。
symbol-bootstrap start
を実行するだけです。上記のコマンドのいずれかを使用して Symbol ノードをインスタンス化して起動します。 シャットダウンは Ctrl+C
で行います。
または、デタッチモード (--detached
) で開始して、バックグラウンドで実行することもできます。
注釈
ノードは初回起動時に、ネットワークの一部と 同期 して 完全なブロックチェーン をダウンロードします。これには数時間かかる場合があり、その間、ノード (APIノードの場合) への REST リクエストが遅延し、誤ったチェーン高が返却される場合があります。
今あなたが作成したノードには、ノードと疎通するための Symbol アカウントが関連付けられています。たとえば、ノードがトランザクションを発行できるように、ノードに資金を提供するにはこのアカウントが必要です。
アカウントの鍵とアドレスは target
フォルダ内の target/addresses.yml
と命名されたテキストファイルから取得できます:
このファイルは YAML 形式でこのようになっています:
networkType: 152
nemesisGenerationHashSeed: 1082491EFE93AA7DAC6D0282634953DB8B5FDDAE669237B030695A9F308883D5
nodes:
-
name: peer-node-0
friendlyName: peer-node-0
roles: 'Peer,Voting'
main:
# Use these to access the node's account
privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
publicKey: E8A918BD78C0D9CFA8D0B53BB721E62925ACB4BF92068533A3D94210D01E1D39
address: TBMXGFREJRVWJY756BVHLJAHZCOP3BW53ALFYOY
transport:
# Use these in Delegated Harvesting requests
privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
publicKey: 7C63AF4CECE2690944FAFE3D9D52EB400447F30CCAC185BC9BE5D54CF536DDE3
address: TBTRVMCJ7TEZNCV74IX3INJHGAOLMQOU2JQEX7Y
remote:
privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
publicKey: 6B1936560F85096E398AAF4647EADB6C748100E6D248D98B2916F003B806E725
address: TDN3G4REJA7BWDQ2TLB3M522RAYKV5AB55EEPGQ
voting:
privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
publicKey: E97B99E7EDE0738CBE2C3BB13F3B0EEB8A361FAAD51271887D12389F1AEEF4EC
address: TBBK644JF2XMW35A7BUG6SADTLHAQ2M2KO7O2FQ
vrf:
privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
publicKey: B304E6F9650CFFA52C6DC51CED29397F6C50F1E2F9AC34993549E0E3E4461027
address: TABWAGQNSI4AWPE3IVGS53CQWAN5BYRM5BHMNFA
main
セクションの情報でノードのアカウントにアクセスします。 delegated harvesting をアクティブ化するときは transport
セクションの情報をノードの 公開 TLS キー として使用します。
ハーベスタの秘密鍵
By default Symbol Bootstrap encrypts all private keys in addresses.yml
so they are not visible (see the security mode section for more details).
(メインアカウントから資産を 引き出す 場合などに) 秘密鍵へアクセスするには、 symbol-bootstrap decrypt
コマンドを使用します。
symbol-bootstrap decrypt \
--source target/addresses.yml \
--destination target/addresses_plain.yml
これは復号されたキーを含む target/addresses_plain.yml
ファイルを生成します。
⚠️ キーを読みだしたら、このファイルは削除してください!
⚠️ シークレットキーは常に秘匿してください!
ノードがハーベスティングまたは投票 (以下を参照) を開始する前に 最小資産 が必要です。 testnet
テスト環境では Symbol の Faucet を使用して資産を調達できます。
faucet に移動して、ノードのアカウントの アドレス
と必要な量 symbol.xym
を入力し、CLAIM をクリックします。
リクエストは最初に 未確認
(保留中) になり、数秒後に 承認済み
になるでしょう。これでノードに資産が提供され、操作する準備が整いました。
Harvesting と Voting ノードを使用するには追加の構成手順が必要です:
Symbol Bootstrap はデフォルトで リモートハーベスティング を有効にした Peer ノードを作成しますが、 AccountKeyLinkTransaction と VrfKeyLinkTransaction をネットワークにアナウンスして登録する必要があります。
これは Symbol Bootstrap によって実行できます。しかしトランザクションのアナウンスには資産が必要なので symbol-bootstrap start
とは別のステップで行います。
symbol-bootstrap start
を実行して、ノードが起動したら、アカウントに資産を提供し、別のターミナルから (ただし同じフォルダで) 入力してください:
symbol-bootstrap link
これは必要な VrfKeyLinkTransaction トランザクションを作成し、ネットワークへアナウンスする必要がります。数秒経って成功したら (トランザクションが承認される必要があるため、数秒かかる場合があります) 新しいノードはハーベストする準備が整います。
ブロックファイナライゼーション プロセスは、ブロックチェーンへ確実に追加する前に、いくらかのネットワークノードがブロックの正確性についての投票を要求します。新しいノードが参加 (して 投票報酬 を獲得) するには VotingKeyLinkTransaction をネットワークにアナウンスして、投票者として登録する必要があります。これも Symbol Bootstrap で処理します。
注釈
新しく投票ノードを作成します。非投票ノードをすでに作成している場合は target
フォルダを削除するか、 symbol-bootstrap
を実行する時に --reset
スイッチを使用してください。
最初に、投票ノードとして構成する必要ために、希望するプリセットと目的のアセンブリを選択する以外に、次の内容を含むカスタムプリセットファイルを提供します。
nodes:
- voting: true
したがって、上記のファイル enable-voting-preset.yml
を呼び出すと、コマンド全体は次のようになります:
symbol-bootstrap start -p testnet -a <assembly> -c enable-voting-preset.yml
ノードが起動したら、別のターミナルから (同じフォルダで) 入力します:
symbol-bootstrap link
ハーベスティングの場合と同様に、これにより必要な VotingKeyLinkTransaction が作成され、ネットワークに送信されます。正常に完了すると、新しいノードは投票する準備が整います。
投票キーの更新
セキュリティ上の理由から、投票キーの有効期間は最大 6 か月です。これは 6か月ごとに投票キーを更新する必要がある ことを意味します。
繰り返しますが、 Symbol Bootstrap はこれを処理します。これらのコマンドは、最初に symbol-bootstrap start
を実行したのと同じフォルダから キーの有効期限が切れる 1 か月前 に実行する必要があります。 (クライアントを停止する必要はありません)
symbol-bootstrap updateVotingKeys
symbol-bootstrap link
The current keys will be examined and if any is close to expiration it will be renewed. If no action is needed the link
command will do nothing, so no transaction fees will be paid (see Symbol Bootstrap's manual for more information).
したがって、上記のコマンドを月に 1 回実行すると、投票キーが常に最新の状態に保たれます。
⚠️ 時間通りに更新できない場合、ノードは投票を停止します。 キーが更新されるまで、アカウントは投票報酬を受け取れません。
インターネットに接続されたコンピュータに、秘密鍵がプレーンテキストで保存されないように ノードを設定することができます。それについては セキュアなノードの立ち上げ を参照してください。
ノードプロパティの設定 ガイドに従って、ノードのパブリック名などのパラメータを変更します。
次のツールを使用して、ノードの機能をテストします:
Blockchain Explorer (MAINNET and TESTNET): ネットワーク内のトランザクション、アカウント、資産、ブロックの検索。
デスクトップウォレット: Mac, Linux, Windows 向け Symbol 用 クロスプラットフォームクライアント。
コマンドラインインターフェイス: よく使用されるアクションをターミナルで実行すます。
Symbol faucet : Symbol サービスをテストするための symbol.xym
を受け取れます。