ノードクライアントのインストール⚓︎
このガイドでは、手動インストールまたはDocker を使用して NEM ノードをデプロイする方法を説明します。
ハードウェア要件⚓︎
-
インターネットに接続されたマシン。データベースとログファイル用に約 30 GB のディスク容量と、16 GB の RAM が必要です(2026 年 7 月時点)。
-
コンセンサス と ハーベスティング に円滑に参加するには、ノードにパブリックに到達可能な IP アドレスが必要です。また、TCP ポート 7890 を受信と送信の双方に対して開く必要があります。
パブリック IP アドレスがなくても、ノードは新しいブロックを生成してネットワークに送信できます。 ただし、ピアノードは、検出した新しいブロックやトランザクションをノードに通知できません。 この場合、ノードは定期的にピアへポーリングするため、新しいブロックやトランザクションの把握が遅くなります。
また、スーパーノードプログラム に参加するには、パブリック IP アドレスが必要です。
-
ウォレットなどのアプリケーションがノードを介してネットワークと通信できるようにするには、次の TCP ポートを開く必要があります。
- 7890(REST リクエスト用)。
- 7778(WebSockets リクエスト用)。
手動インストール⚓︎
前提条件⚓︎
- Java JRE 11 または OpenJDK 11 をインストールします。
NIS1 クライアントは、Linux、Windows、macOS など、Java をサポートするすべてのオペレーティングシステムで動作します。
インストール⚓︎
-
最新のバイナリをダウンロードします。
-
NIS1 の インストール フォルダーとなるフォルダーにファイルを解凍します。
設定⚓︎
新しい nis/config-user.properties ファイルを作成し、ケースに合わせて次の内容を変更します。
nem.folder = %h/nem
nis.bootName = my-server
nis.bootKey = 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
-
nem.folderは NIS1 の ホーム フォルダーを設定します。 このフォルダーはインストールフォルダーと異なっていてもよく、プログラムのログとデータベースファイルを保存します。ユーザーのホームフォルダーを示すために
~を使わず、%hを使います。 デフォルトの場所は%h/nemです。Windows ではバックスラッシュを二重にする必要があります:
\\。 たとえばD:\\NEM\\nis1-homeです。 -
nis.bootNameをサーバーに付ける名前に設定します。 これは情報を示すだけの値です。 先頭と末尾の空白は削除されますが、名前の途中には空白を含められます。 UTF8 はエスケープによってサポートされていますが、ASCII 範囲外の文字は使わないでください (例:\u3053\u3093\u306B\u3061\u306F)。 -
nis.bootKeyをこのノードを管理するアカウントの秘密鍵に設定します。 まだアカウントを持っていない場合は、NEM NanoWallet などのウォレットを使って作成します。-
委任ハーベスティングを行う場合、これはリモートアカウントの秘密鍵です。 この設定を推奨します。
-
ローカルハーベスティングを行う場合、これはアカウント自体の秘密鍵です。 この設定は推奨しません。
このキーは常に秘密にしてください
-
-
ノードでハーベストする場合は、
nis.shouldAutoHarvestOnBootをtrueに設定します。
ノードの初回起動を高速化する
ノードの初回起動を高速化するため、データベーススナップショットを任意でダウンロードできます。
- https://bob.nem.ninja/ に移動し、最新の
nis5_mainnet-*.mv.dbファイルをダウンロードします。 例: nis5_mainnet-5-565-850.mv.db.gz。 - NIS1 のホームフォルダー内に
nis/dataという名前のフォルダーを作り、その中にファイルを解凍します。 解凍したファイルの名前をnis5_mainnet.mv.dbに変更します。
テストネットノードを実行する
テストネットノードを実行する場合は、config-user.properties ファイルに次のプロパティを追加します。
nem.network = testnet
nis.treasuryReissuanceForkHeight = 1
nis.treasuryReissuanceForkTransactionHashes =
nis.treasuryReissuanceForkFallbackTransactionHashes =
nis.multisigMOfNForkHeight = 1
nis.mosaicsForkHeight = 1
nis.firstFeeForkHeight = 1
nis.secondFeeForkHeight = 1
nis.remoteAccountForkHeight = 1
nis.mosaicRedefinitionForkHeight = 1
起動⚓︎
ターミナルを開き、オペレーティングシステムに対応する起動スクリプトを確認します。
メモリ不足の問題
メモリ不足が発生した場合は、起動スクリプトを編集して-Xmx パラメーターを増やします。
スクリプトを起動します。 コンソール出力にノードが実行中であることが示されます。
Docker を使用する⚓︎
これらの手順は、Windows Subsystem for Linux を含む Linux システムでのみ動作します。
前提条件⚓︎
インストール⚓︎
次のコマンドで nem-docker リポジトリをクローンします。
設定⚓︎
初回実行時に、クライアントは(上の手動設定セクションで説明した)boot name と boot key のプロパティを尋ね、それらを保存します。
設定を手動で編集する場合は、クライアントを起動する前に、上記で説明した内容を使って custom-configs/nis.config-user.properties という新しいファイルを作成します。
ノードを制御する⚓︎
-
ノードを起動するには、次を実行します。
-
ノードを停止するには、次を実行します。
他のコマンドについては、nem-docker GitHub プロジェクトを参照してください。
同期⚓︎
ノードは初回起動時に、ピアからブロックチェーン全体をダウンロードします。
この処理には最大 48 時間かかることがあります。
任意のデータベーススナップショットをダウンロードした場合、ノードはまずデータベースを読み込み、その後、残りのブロックをダウンロードします。 これにより、同期時間が大幅に短縮されます。
同期中も、次のことを確認できます。
-
パブリック IP がある場合、ノードを起動して数分後には、nodewatch.symbol.tools の公開ノード一覧に表示されるはずです。 報告されるチェーン高は、ネットワークの他のノードに追いつくにつれて増加します。
-
ブラウザでlocalhost:7890/chain/heightを開いて、ノードに現在のチェーン高を尋ねることもできます。
ノードを監視する⚓︎
NIS はポート 7890 でクエリを待ち受けるため、ノードを監視する最初の方法は、ブラウザでlocalhost:7890/node/infoを開くことです。
NIS_ILLEGAL_STATE_LOADING_CHAIN のようなエラーを含め、何らかの応答があれば、ノードは実行中です。
クエリ可能な URL の一覧については、REST API 仕様を参照してください。
ノードを更新する⚓︎
NIS1 クライアントを最新のプロトコルバージョンに更新するのは簡単です。
手動で行う⚓︎
-
Ctrl+Cを押すかプロセスを終了して、サーバーを停止します。 -
古いパッケージを削除します。 これは、
config-user.propertiesを除く NIS1 インストールフォルダー内のすべてのファイルを削除することを意味します。 NIS1 のホームフォルダー内のすべてのファイルは残します。 -
最新のバイナリをダウンロードし、同じフォルダーに解凍します。
-
起動時と同じコマンドで、サーバーを再び起動します。
Docker を使用する⚓︎
-
./stop.shでサーバーを停止します。 -
インストール手順でクローンしたリポジトリを
git pullで更新します。 -
./boot.shでサーバーを再起動します。