NEROChainコミュニティに参加して、今後の情報をお待ちください!
ノード・バリデーターコンパイルと実行

コンパイル、実行とデプロイ

このガイドでは、NEROのコンパイルと実行の手順を説明します。

ダウンロード

以下のgitコマンドを使用してNEROのソースコードをダウンロードします:

git clone https://github.com/nerochain/Nero.git

Golangのインストール

NEROをコンパイルする前に、システムにGolangがインストールされていることを確認してください。ダウンロードとインストール手順については、Golangの公式ウェブサイト(https://go.dev/dl/)を参照してください。

コンパイル

  1. 以下のコマンドを使用して、NEROのソースコードをクローンしたディレクトリに移動します:

    cd /path/to/Nero
  2. 以下のコマンドを実行してNEROをコンパイルします:

    make geth

    これにより、build/binフォルダにコンパイルされたバイナリが作成されます。

実行

  1. 以下のコマンドを実行して、利用可能なオプションとその説明のリストを取得します:

    ./build/bin/geth --help
  2. 具体的な使用方法については、コマンドラインオプションのドキュメントを参照してください。

カスタムオプション:

NEROは--traceactionというカスタムオプションを提供しています:

--traceaction value     (デフォルト: 0)
    内部トランザクションのcall/create/suicideアクションをトレース、0=トレースなし、1=ネイティブトークン > 0のみトレース、2=すべてトレース

このオプションを使用すると、内部トランザクションをトレースするためのカスタムJSON-RPCメソッドを有効または無効にすることができます。

デプロイ

systemd管理設定の紹介。

ハードウェア

最小要件

8コア
16GB RAM
SSD IOPS>5k

推奨要件

16コア
32GB RAM
SSD IOPS>5k

ネットワークとポート

外部IPアドレス
ポート TCP/UDP 30303

チェーンノード

  • config.toml
[Eth]
SyncMode = "snap"
TrieTimeout = 1200000000000
StateScheme = "hash"

[Eth.Miner]
GasCeil = 40000000
Recommit = 3000000000
Noverify = false

[Eth.TxPool]
NoLocals = true
Journal = "transactions.rlp"
Rejournal = 600000000000
PriceLimit = 1000000000
PriceBump = 10
AccountSlots = 64
GlobalSlots = 10240
AccountQueue = 32
GlobalQueue = 1024
Lifetime = 1800000000000

[Node]
DataDir = "/data/nerochain/data"
DBEngine = "leveldb"
IPCPath = "geth.ipc"
HTTPHost = "0.0.0.0"
HTTPPort = 8545
HTTPCors = ["*"]
HTTPVirtualHosts = ["*"]
HTTPModules = ['eth', 'net', 'web3', 'turbo', 'engine']

WSHost = "0.0.0.0"
WSPort = 8546
WSModules = ['eth', 'net', 'web3', 'turbo', 'engine']

AuthPort = 8552

GraphQLVirtualHosts = ["localhost"]


[Node.P2P]
MaxPeers = 50
ListenAddr = ":30306"
EnableMsgEvents = false

[Node.HTTPTimeouts]
ReadTimeout = 30000000000
WriteTimeout = 30000000000
IdleTimeout = 120000000000

設定でスナップ同期を使用し、フル同期が必要な場合は、この行を変更します

SyncMode = "snap"

以下に変更:

SyncMode = "full"

起動スクリプト

すべてのフラグの詳細なヘルプ情報を表示するには、geth helpまたはgeth -hと入力してください

  • run.sh
#!/usr/bin/env bash
/data/nero/chain/geth-linux-amd64 \
--config /data/nero/chain/config.toml  \
--log.file /data/nero/chain/logs/chain.log \
--log.rotate=true \
--traceaction 2 \
--verbosity 3

アーカイブノードとして使用する必要がある場合は、以下を追加します:

--syncmode full \
--gcmode archive \

したがって:

#!/usr/bin/env bash
/data/nero/chain/geth-linux-amd64 \
--config /data/nero/chain/config.toml  \
--log.file /data/nero/chain/logs/chain.log \
--log.rotate=true \
--traceaction 2 \
--syncmode full \
--gcmode archive \
--verbosity 3

ネットワークフラグが提供されていない場合、ノードはデフォルトでNEROメインネットに接続します。NEROテストネットに接続したい場合は、以下を追加します:

--testnet

systemd設定

[Unit]
Description=NERO chain service

[Service]
Type=simple
ExecStart=/bin/sh /data/nero/chain/run.sh
WorkingDirectory=/data/nero/chain
TimeoutSec=600
Restart=on-failure
RestartSec=5s

LimitNOFILE=65536

[Install]
WantedBy=multi-user.target