コンテンツにスキップ

ノードクライアントのインストール⚓︎

このガイドでは、手動インストールまたはDocker を使用して NEM ノードをデプロイする方法を説明します。

ハードウェア要件⚓︎

  • インターネットに接続されたマシン。データベースとログファイル用に約 30 GB のディスク容量と、16 GB の RAM が必要です(2026 年 7 月時点)。

  • コンセンサスハーベスティング に円滑に参加するには、ノードにパブリックに到達可能な IP アドレスが必要です。また、TCP ポート 7890 を受信と送信の双方に対して開く必要があります。

    パブリック IP アドレスがなくても、ノードは新しいブロックを生成してネットワークに送信できます。 ただし、ピアノードは、検出した新しいブロックやトランザクションをノードに通知できません。 この場合、ノードは定期的にピアへポーリングするため、新しいブロックやトランザクションの把握が遅くなります。

    また、スーパーノードプログラム に参加するには、パブリック IP アドレスが必要です。

  • ウォレットなどのアプリケーションがノードを介してネットワークと通信できるようにするには、次の TCP ポートを開く必要があります。

    • 7890REST リクエスト用)。
    • 7778WebSockets リクエスト用)。

手動インストール⚓︎

前提条件⚓︎

NIS1 クライアントは、Linux、Windows、macOS など、Java をサポートするすべてのオペレーティングシステムで動作します。

インストール⚓︎

設定⚓︎

新しい 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.shouldAutoHarvestOnBoottrue に設定します。

ノードの初回起動を高速化する

ノードの初回起動を高速化するため、データベーススナップショットを任意でダウンロードできます。

  • 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

起動⚓︎

ターミナルを開き、オペレーティングシステムに対応する起動スクリプトを確認します。

runNis.bat
nix.runNis.sh

メモリ不足の問題

メモリ不足が発生した場合は、起動スクリプトを編集して-Xmx パラメーターを増やします

スクリプトを起動します。 コンソール出力にノードが実行中であることが示されます。

Docker を使用する⚓︎

これらの手順は、Windows Subsystem for Linux を含む Linux システムでのみ動作します。

前提条件⚓︎

インストール⚓︎

次のコマンドで nem-docker リポジトリをクローンします。

git clone https://github.com/NemProject/nem-docker.git
cd nem-docker

設定⚓︎

初回実行時に、クライアントは(上の手動設定セクションで説明した)boot nameboot key のプロパティを尋ね、それらを保存します。

設定を手動で編集する場合は、クライアントを起動する前に、上記で説明した内容を使って custom-configs/nis.config-user.properties という新しいファイルを作成します。

ノードを制御する⚓︎

  • ノードを起動するには、次を実行します。

    ./boot.sh
    
  • ノードを停止するには、次を実行します。

    ./stop.sh
    

他のコマンドについては、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 でサーバーを再起動します。