Troubleshooting
Validator Node
Rerun a Node if Stopped
If your node is stopped (for any reason), please examine the server log to identify if there were any issues. After fixing the issues (if any), you can run the node in read mode to sync to the latest block. After it is synced up, you can stop the node and run in validator mode.
Make sure your node is synced in read mode first before it is run in validator mode.
Migration to New Server
If you'd like to migrate your node to a new server, please follow these steps:
Set up a read node on a new server and allow it to run to sync to the latest block.
Stop the old node for at least 40 minutes before running the validator mode on the new server
After the old node is stopped for 40 minutes, then you can run in validator mode on the new server. You should not let the old node run again as it will result in a double-sign and slashing of your validator node.
How to Stop Node
Find the running process of opera using ps
and then kill
the process by id.
After your node is stopped, if you want to rerun it, don't run directly in validator mode. Instead, please make sure your node is synced in read mode first before it's run in validator mode.
Offline Node
If your validator node is down for more than 5 days, then it will become offline (i.e. pruned from the network).
For offline nodes, you can undelegate and wait for 7 days to withdraw (bonding time). After that, you can transfer funds to a new wallet and make a new validator if you wish. If undelegating a locked stake or locked delegation before the locked period has expired, it will incur a penalty.
How to Permanently Shut Down Node
To shut down a node permanently, you can simply stop running the node in validator mode for 5 days or more.
How to Unstake
If your node stake is locked, you will first need to call unlockStake() to unlock it. Note that a penalty will apply for early unlocking before the lock-up period has expired. Then you can call undelegate(), to unstake your stake. Then there is a waiting period of 7 days (so-called bonding time) after undelegation. This is required before you can call withdraw() to take out your stake.
Syncing Error
If your node is in a dirty state (it may happen occasionally), please run:
opera --db.preset legacy-ldb db heal --experimental
alternatively, you may do a fresh resync as follows:
Stop the node
Remove the current (broken) datadir (the default datadir is located at ~/.opera)
Download and build the latest version go-opera 1.1.3-rc5
Run your node again in read 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 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: > 3 GHz.
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) will take some extra CPU and time
You can also increase the value of ulimit
on your machine.
Increase Open Files Limit
You can check your current limit value on Linux with the command ulimit -n
. The default value of 1024 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 the
/etc/security/limits.conf
configuration file, limit type nofile.