【English】
Adapting Plugin Nodes to XDC 2.0: Gas Fee Update Guide
Welcome to the guide for adapting to the latest XDC gas fee changes for Plugin nodes. This guide aims to assist Plugin node operators in updating their node settings to accommodate the impacts of the recent upgrade to XDC version 2.0 on the gas fees required per transaction.
How to Update Your Plugin Node for the Latest XDC Gas Fee
The above official Plugin documentation details the upgrade steps needed to reflect the new pricing system. This document guides Plugin node operators on how to update their node settings to prevent transactions from being stuck in a pending state due to insufficient gas fees.
Following the official guide, this guide specifically recommends changing the minimum gas price in the config.toml
file from the default 1 gwei
to 12.5 gwei
. By making this change, you can prevent job failures, ensure smooth transaction processing, and avoid operational disruptions.
Through this guide, we aim to support your node in efficiently meeting the latest network requirements.
Here are the necessary steps to resolve gas-related issues on Plugin nodes:
Problem
-
Default Gas Price Setting: The default setting of
[EVM.GasEstimator] PriceMin = '1 gwei'
can lead to 'under min gas' errors, causing jobs to get stuck in anin_progress
state. -
Impact on Jobs: Once an error occurs, subsequent jobs remain in an
unstarted
state, halting processing.
Solution
1. Configuration File Update:
-
Update the
config.toml
file to set[EVM.GasEstimator] PriceMin = '12.5 gwei'
as the minimum gas price. This adjustment prevents insufficient gas errors and ensures that jobs complete successfully.Note: Although
[EVM.GasEstimator] PriceMin = '1 gwei'
is set, transactions can still be executed above the minimum gas cost of12.5 gwei
for XDC2.0.
::
1-1. Navigate to the directory containing the config.toml
file:
cd ~/pluginV2/
1-2. Edit the config.toml
file using nano
:
- Open the config.toml file with the nano editor
nano config.toml
- Once the file is open, add the following code to the end of the file:
[EVM.GasEstimator]
PriceMin = '12.5 gwei'
1-3. Save the config.toml
file.
How to Save in nano
To save a file edited with nano, follow these steps:
- Press the
"Ctrl"
and"X"
keys simultaneously on your keyboard. - Press the
"Y"
key to confirm the changes you want to save. - Press the
"Enter"
key to exit the editor.
Following these steps will save the changes to the edited file and exit the nano editor.
2. System Restart:
- After making the above changes, use PM2, the Node.js process manager, to restart the node. Use the following command:
pm2 restart NodeStartPM2
3. Verify on the Dashboard
- Log in to the dashboard and check if the node is running correctly and if the
config.toml
has been properly applied. The following command can be useful for logging in to the dashboard:
echo https://$(ip a | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '127.0.0.1'):6689 && cat ~/pluginV2/apicredentials.txt
- Once logged in, click the gear icon in the upper right corner, then click on
Configuration
. Next, check that[EVM.GasEstimator]PriceMin = '12.5 gwei'
is properly reflected in theTOML Configuration
.
These steps will ensure that jobs are processed properly and the network functions smoothly. After making configuration changes, monitor the system to see how it responds and make further adjustments as necessary.
Handling Jobs That Get Stuck
If the log shows an under min gas
error, jobs can get stuck in an in_progress
state. When this error occurs, subsequent jobs remain in an unstarted
state, causing processing to halt. In such cases, follow these steps to delete entries from PostgreSQL.
Database Cleaning:
-
Check and delete records from the
eth_txes
table where thestate
is 'unstarted', 'in_progress', or 'unconfirmed'. -
Connect to the
plugin_mainnet_db
database as thepostgres
user using the following command:
sudo -i -u postgres psql -d plugin_mainnet_db
- The following command can make the output more readable:
\x auto
is a command to change the display format inpsql
. It enables the "expanded display," which automatically formats wide output to show each field on a new line.
\x auto
- Next, run the following SQL command to review the records targeted for deletion:
SELECT * FROM eth_txes WHERE state IN ('unstarted', 'in_progress', 'unconfirmed');
- After confirming there are no issues, proceed to delete the records with this command:
DELETE FROM eth_txes WHERE state IN ('unstarted', 'in_progress', 'unconfirmed');
-
To exit the PostgreSQL command-line tool
psql
, you can use one of the following methods:- Type the
\q
command and press the Enter key. - Press
Ctrl
+D
simultaneously on your keyboard.
- Type the
These actions will terminate the psql
session and return you to the original shell.
Author:
【日本語】
XDC2.0対応:プラグインノード・アップデートガイド
Pluginノードの最新のXDCガス料金の変更に対応するためのガイドにようこそ。このガイドは、XDCの最近のバージョン2.0へのアップグレードがトランザクションごとの必要ガス料金に与える影響に対処し、Pluginノードオペレーターが自身のノード設定を更新する手助けをすることを目的としています。
How to Update Your Plugin Node for the Latest XDC Gas Fee
上記のPlugin公式のドキュメントには、新しい料金体系を反映させるためのアップグレード手順が詳細に記載されています。このドキュメントは、不十分なガス料金によってトランザクションが保留状態になるのを避けるために、ノード設定をどのように更新するかをPluginノードオペレーターに指南します。
公式ガイドに沿って、本ガイドでは、特に config.toml
ファイルの最小ガス価格をデフォルトの 1 gwei
から 12.5 gwei
に設定変更することを推奨しています。この変更を行うことで、ジョブの失敗を防ぎ、トランザクション処理をスムーズにし、運用上の中断を回避することができます。
このガイドを通じて、あなたのノードが最新のネットワーク要件に適切に対応し、効率的に運用できるようサポートします。
では、早速Pluginノードのガス関連の問題を解決するために必要なステップを以下に示します:
問題
-
デフォルトのガス価格設定:デフォルトで設定されている
[EVM.GasEstimator] PriceMin = '1 gwei'
が原因で「under min gas」というエラーが発生し、ジョブがin_progress
状態で詰まってしまいます。 -
ジョブへの影響:エラーが発生すると、次以降のジョブが
unstarted
状態になり、処理が停止します。
解決策
1. 設定ファイルの変更:
-
config.toml
ファイルに[EVM.GasEstimator] PriceMin = '12.5 gwei'
と設定を追記し、これを最低ガス価格とします。この設定により、ガスが不足する問題を防ぎ、ジョブが正常に完了できるようになります。メモ:config.tomlに
[EVM.GasEstimator] PriceMin = '1 gwei'
が設定されていても、XDC2.0の最低ガス代である12.5gwei
以上でトランザクションを実行することが可能です。
::
1-1. config.toml
ファイルがあるディレクトリへ移動します
cd ~/pluginV2/
1-2. config.toml
ファイルをnano
で編集します
- config.tomlファイルをnanoエディタで開きます。
nano config.toml
- ファイルを開いたら、以下のコードをファイルの末尾に追加します。
[EVM.GasEstimator]
PriceMin = '12.5 gwei'
1-3. config.toml
ファイルを保存します
nanoで保存する方法
nano で編集したファイルを保存する方法は、次の手順に従ってください:
- キーボードで
"Ctrl"
キーと"X"
キーを同時に押します。 - キーボードで
"Y"
キーを押して変更を保存することを確認します。 - キーボードで
"Enter"
キーを押してエディターを終了します。
これらの手順により、編集したファイルの変更が保存され、nanoエディターが終了します。
2. システムの再起動:
- 上記の変更を行った後、Node.jsのプロセスマネージャであるPM2を使用してノードを再起動します。使用するコマンドは以下の通りです:
pm2 restart NodeStartPM2
3. ダッシュボードで確認
- ダッシュボードにログインして、ノードが正しく起動し、config.tomlが正しく反映されているかを確認します。ダッシュボードにログインするために、以下のコマンドは便利です。
echo https://$(ip a | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '127.0.0.1'):6689 && cat ~/pluginV2/apicredentials.txt
- ログインしたら、右上の歯車マークをクリックし、次に
Configration
をクリックします。そしてTOML Configuration
に[EVM.GasEstimator]PriceMin = '12.5 gwei'
が反映されていることを確認してください。
これらのステップにより、ジョブが適切に処理され、ネットワークがスムーズに機能するようになります。設定変更後は、システムがどのように反応するかを監視し、必要に応じてさらに調整を行ってください。
ジョブが詰まった場合の対処
ログにunder min gas
というエラーが発生し、ジョブが in_progress
状態で詰まってしまいます。エラーが発生すると、次以降のジョブが unstarted
状態になり、処理が停止します。その場合、次の手順でPostgreSQLを削除します。
データベースのクリーニング:
-
eth_txes
テーブルからstate
が 'unstarted'、'in_progress'、または 'unconfirmed' のレコードを確認し、削除します。 -
次のコマンドで、
postgres
ユーザーとしてplugin_mainnet_db
データベースに接続します。
sudo -i -u postgres psql -d plugin_mainnet_db
- 次のコマンドを実行しておくと見やすくなります。
\x auto
はpsql
の表示形式を変更するコマンドです。これにより、出力が広い場合に行ごとに分けて表示される「拡張表示」が自動的に有効になります。
\x auto
- 次に削除対象のレコードを確認するために以下のSQLコマンドを実行します:
SELECT * FROM eth_txes WHERE state IN ('unstarted', 'in_progress', 'unconfirmed');
- 確認後、問題がなければ以下のコマンドでレコードを削除します:
DELETE FROM eth_txes WHERE state IN ('unstarted', 'in_progress', 'unconfirmed');
-
PostgreSQLのコマンドラインツール
psql
から抜け出すには、以下のいずれかの方法を使用します:-
\q
コマンドを入力してエンターキーを押します - キーボードで
Ctrl
+D
を同時に押します
-
これらの操作により、psql
セッションが終了し、元のシェルに戻ります。