NEM スーパーノード構築
nemを応援します。
OSはRocky Linux release 9.1を使用、4コアCPUの16Gメモリがあればいいでしょう。ノード実行ユーザは分かりやすくnemとする。
# cat /etc/redhat-release Rocky Linux release 9.1 (Blue Onyx)
java-11-openjdkをインストール
# dnf -y install java-11-openjdk # java -version
nisインストール
# su - nem $ curl -o nis1.tgz https://bob.nem.ninja/nis-0.6.101.tgz $ tar -xzvf nis1.tgz
サーバスペックによりメモリの最小値、最大値を変更
$ vi ~/package/nix.runNis.sh #!/bin/bash cd nis java -Xms4G -Xmx8G -cp ".:./*:../libs/*" org.nem.deploy.CommonStarter cd - ↓ #!/bin/bash cd nis java -Xms4G -Xmx12G -cp ".:./*:../libs/*" org.nem.deploy.CommonStarter cd -
コンフィグ修正
$ vi ~/package/nis/config.properties
FQDNまたはIPアドレスを指定
nem.host = 127.0.0.1
↓
nem.host = FQDNまたはIPアドレス
スーパーノードリストの「Name名」の表示箇所
nis.bootName = 好きな英数字
NEMウォレットにて表示した委任秘密鍵
nis.bootKey = 委任秘密鍵
ハーベストの上限値
nis.unlockedLimit = 4
スーパーノードリストの「Host」の表示箇所(ドメイン取得した場合のみ)
nis.ipDetectionMode = AutoRequired
↓
nis.ipDetectionMode = Disabled
実行権付与
$ chmod +x ~/package/nix.runNis.sh
servantインストール
$ wget https://bob.nem.ninja/servant_0_0_4.zip $ tar -xzvf servant_0_0_4.zip
コンフィグ修正
$ vi ~/servant/config.properties nisのnem.hostと同じ文字列を入れる nem.host = <put vps ip address here> ↓ nem.host = FQDNまたはIPアドレス NEMウォレットにて表示した委任秘密鍵 servant.key = <put your NIS boot key here> ↓ servant.key = 委任秘密鍵
実行権付与
$ chmod +x ~/servant/startservant.sh
rootユーザにスイッチ。
su -
nis自動起動設定。パスは各自の環境に設定する。
# vi /etc/systemd/system/nem-nis.service [Unit] Description = NEM NIS Server After = network.target [Service] WorkingDirectory = /home/nem/package ExecStart = /home/nem/package/nix.runNis.sh Restart = always Type = simple User = nem Group = nem LimitNOFILE = 100000 StandardOutput = null StandardError = null [Install] WantedBy = multi-user.target
rootユーザで、servant自動起動設定。パスは各自の環境に設定する。
# vi /etc/systemd/system/nem-servant.service [Unit] Description = NEM Servant program After = network.target nem-nis.target [Service] WorkingDirectory = /home/nem/servant ExecStart = /home/nem/servant/startservant.sh Restart = always Type = simple User = nem Group = nem LimitNOFILE = 100000 StandardOutput = null StandardError = null [Install] WantedBy = multi-user.target
サービス起動
# systemctl start nem-nis.service # systemctl start nem-servant.service # systemctl is-active nem-nis.service active # systemctl is-active nem-servant.service active
自動起動有効化
# systemctl enable nem-nis.service # systemctl enable nem-servant.service # systemctl is-enabled nem-nis.service enabled # systemctl is-enabled nem-servant.service enabled
あとはNEM Walletからスーパーノード登録すると、定期的にノード報酬がもらえる。