4
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 2

NIS1 ノードを Ubuntu24 に建てる

Last updated at Posted at 2024-12-01

必要な Java のインストール

sudo apt install openjdk-11-jre-headless

NIS1 クライアントの準備

自分でビルド

ビルドすることに特に意味はないと思います。変態向け。

ビルド済をダウンロード

NIS1 クライアントのビルド済みバージョンをダウンロードするには、以下のリンクを参照して最新のバージョンを確認します。

https://bob.nem.ninja/

2024/11/11 時点の最新はv0.6.101

curl -OL https://bob.nem.ninja/nis-0.6.101.tgz

展開します。

tar -xzvf nis-0.6.101.tgz
rm nis-0.6.101.tgz

展開されたpackageディレクトリを任意の場所に配置します。

NIS1 の設定

配置想定場所

/optに配置する事を想定しています。

sudo mv package /opt/nis1
cd /opt/nis1

コンフィグファイルの作成と編集

config-user.propertiesを新規に作成して編集します。

vi nis/config-user.properties
  • nem.folder: ブロックデータ保存ディレクトリ(デフォルトは ~/nem
  • nem.host: ドメインを取っていない場合は IP アドレス
  • nis.bootName: ノードの名前(お好きな名前をどうぞ)
  • nis.unlockedLimit: ハーベストを受け入れる人数の上限値(デフォルトは 4、10 程度がよい)
  • nis.ipDetectionMode: ホストにドメインを設定している場合に IP アドレスになるのを防止
nis/config-user.properties
# ブロックデータ保存ディレクトリ
nem.folder = /opt/nis1

# ホスト名
nem.host = xxxx.xxxxxxxx.com

# ブート名(ノードの名前です)
nis.bootName = MyNode

# ハーベストを受け入れる人数の上限値
nis.unlockedLimit = 10

# HOSTがIPにならないようにする
nis.ipDetectionMode = Disabled

NIS1 ノードの起動確認

一旦、確認のため起動します。

起動

sh nix.runNis.sh

ポート開放

sudo ufw allow 7890
sudo ufw allow 7778

確認

ノードの状態を確認。

curl -s http://127.0.0.1:7890/heartbeat | jq

ノードの基本情報を確認

curl -s http://127.0.0.1:7890/node/info | jq

ブロック高を確認

curl -s http://127.0.0.1:7890/chain/height | jq

停止

curl -s http://127.0.0.1:7890/shutdown

サービス化(デーモン化)

sudo vi /etc/systemd/system/nis1.service
nis1.service
[Unit]
Description=NIS1 Client
After=network.target

[Service]
ExecStart=/usr/bin/java -Xms4G -Xmx8G -XX:+UseG1GC -cp ".:./*:../libs/*" org.nem.deploy.CommonStarter
ExecStop=/usr/bin/curl -s http://127.0.0.1:7890/shutdown
Restart=on-failure
RestartSec=2
User=harvestasya
Group=harvestasya
StandardOutput=journal
StandardError=journal
WorkingDirectory=/opt/nis1/nis
SuccessExitStatus=143
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

-Xms4G-Xmx8Gはマシンスペックに合わせて変更してください。マシンメモリ容量の 1/3 ~ 1/2 くらいが良いかなと思います。

サービスをリロード

ユニットファイルを編集した後、systemd に変更をリロードする必要があります。

sudo systemctl daemon-reload

サービスを有効化

サービスを有効化して、システム起動時に自動的に起動するように設定します。

sudo systemctl enable nis1

サービスを開始

サービスを開始します。

sudo systemctl start nis1

サービスを停止

サービスを停止します。メンテ等で止める場合に使用します。

sudo systemctl stop nis1

ログの確認

nis1 サービスのみを参照します。最新から参照できるよう-rオプションを付けます。

sudo journalctl -u nis1 -r

リアルタイムで確認したい場合は-fオプションを付けます。

sudo journalctl -u nis1 -f

さらに色を付けたい場合は、-o catオプションを付けます。これにより、ログが色付きで表示され、読みやすくなります。

sudo journalctl -u nis1 -f -o cat

関連記事

4
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
4
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?