Troubleshooting
Current version of go-u2u
The current supported version is go-u2u, branch stable
for both mainnet and testnet.
Pruning node state
If your node is about to run out of space, you might think about adding more storage OR pruning the datadir on the current node. Please use the following steps to prune the datadir:
Manual pruning
Stop the node
pkill u2u
Open up your Terminal, then run:
./u2u snapshot --db.preset <preset> prune-state
Depending on the machine's speed, the state pruning procedure could take a few hours for every several hundred gigabytes of data. So, you can run while using nohup
.
Automatic pruning
To enable automatic pruning, you can run a node with --gcmode
flag, either --gcmode full
or --gcmode light
.
Note that:
Both
--gcmode full
and--gcmode light
will prune data that is processed after gcmode is enabled. Old data (before gcmode is enabled) is untouched.Validator node can use
--gcmode light
but should not use--gcmode full
.--gcmode full
option will prune much more EVM nodes than--gcmode light
at expense of worse performance.
Validator node
How to rerun a node if it is stopped
If your node is down (for any reason), please review the server logs to determine if there is a problem. After fixing the problem (if any), you can run the node in read mode to synchronize it with the last block. Once synchronized, you can stop the node and run it in validator mode.
Note that first make sure your node is synchronized under a normal node before running it in validator node.
Migration to a new server
If you want to move your node to a new server, please follow these steps:
Set up a normal node on the new server and enable it to run to sync with the latest block.
Turn off the old node at least 40 minutes before running validator mode on the new server.
After the old node is down for 40 minutes, you can run in authentication mode on the new server. Note that you should not leave the old node running again because this will cause your authentication node to be double-signed and slashing of your validator node.
How to stop a node
Find u2u's running process by ps
, then kill
the process by id.
Note that after your node is stopped, if you want to run it again, do not run it directly in validator mode. Instead, first make sure your node is synchronized in normal mode before running it in validator mode.
Offline node
If your validator node is inactive for more than 5 days, it will go offline (i.e. removed from the network). For offline nodes, you can undelegate and wait 7 days for withdrawal (bonding time). You can then transfer funds to a new wallet and create a new validator if you want. Note that if you cancel a locked stake authorization or a locked authorization before the lockup period expires, this will result in a penalty.
How to permanently shut down a node
To permanently disable a node, simply stop running it in validator mode for 5 days or more. It will then become offline.
How to unstake
Please reference at Staking.
Troubleshooting
Syncing error
If your node is in dirty state (it may happen occasionally), please run:
u2u --db.preset legacy-ldb db heal --experimental
lternatively, you may do a fresh resync as follows:
Stop the node
Remove the current (broken) datadir (the default datadir is located at ~/.u2u)
Download and build the latest version go-u2u
Run your node again in normal mode
Slow syncing
Check your machine specs if it meets the minimum requirements.
IOPS greater than 5000 (higher is better)
connection speed > 1 Gbps (some ppl run with 10 or 20, if they can)
cores: more than 4 cores (the number of cores is not important unless you will use it for serving API calls).
CPU: > 3GHz.
You can also check the following flags, if you're using them to run your node. You can adjust to values suitable to your usage.
maxpeers
flag: default is 50, you can adjust it depending on your machine.cache
flag:--cache 15792
(A larger value can give better performance).gcmode
: gcmode is not enabled by default. If enabled, gcmode (light or full) it will take some extra CPU and time.
You can also increase the value of ulimit
on your machine as below.
Increase open files limit
You can check your current limit value on Linux with the command ulimit -n
. The default value of 1024, which may be not enough in some cases.
You can adjust the value to the recommended 500.000 open files limit by either:
- ulimit -n 500000
- change it in /etc/security/limits.conf
configuration file, limit type nofile.
Last updated