Bitcoin Node Pruning Issues and Resolutions
Since my last update, Bitcoin Core nodes can sometimes experience wallet sync issues, resulting in errors like “last wallet sync exceeds truncated data.” However, by understanding the root cause and implementing a few tweaks, you should be able to run a truncated Bitcoin Core node on Linux indefinitely without encountering this issue.
Problem: Pruning
Bitcoin Core’s truncating mechanism is designed to reduce storage requirements for nodes with low network activity. During truncating, certain data structures are removed from the blockchain, which can lead to synchronization issues if not handled properly. The “Last wallet sync exceeds truncated data” error typically occurs when the node attempts to update its local wallet information after truncating, but cannot find enough synchronized data to reconcile with the block headers.
Causes of Slicing Errors
Before we get to the solutions, let’s briefly discuss why slicing errors can occur:
- High transaction fees or frequent transactions
- Limited network activity (e.g. a node that hasn’t updated in months)
- Insufficient storage capacity on the node
Solutions to Address Slicing Errors
To avoid or resolve slicing errors, consider implementing the following strategies:
1.
Increase Network Activity
If possible, try to increase your network activity by sending more transactions or paying higher fees. This will help move the node away from a node with low activity and reduce the likelihood of slicing errors.
2.
Adjust transaction fees
Reduce transaction fees to encourage more frequent transactions, which should help keep your node active and reduce sharding errors.
3.
Optimize storage
If you are using limited storage capacity, consider increasing it or switching to a larger storage model that suits your needs.
4.
Enable advanced synchronization
In Bitcoin Core version 0.20.1 and later, an advanced synchronization method called “batch” is available for sharding nodes. To enable batch synchronization:
- Download the Bitcoin Core package from the official website.
- During the installation process, select the option to use batch synchronization.
- Run
./bitcoincore-cli --version
after installation.
5.
Disable Pruning
If none of the above solutions work, you may need to disable pruning completely:
- Go to your Bitcoin Core node configuration file (
~/.bitcoincore/config.json
) and find theprune
field.
- Set
prune
to `false
.
6.
Use a Custom Configuration
If disabling pruning doesn't work, you can try creating a custom configuration:
- Create a new file calledbitcoin.conf
in your home directory with the following content:
[core]
prune = false
[wallet]
Then, restart your Bitcoin Core node.
7.
Consider running with a hardware wallet
If you are experiencing issues with severance errors and cannot resolve them through software solutions, it may be worth considering running your Bitcoin wallet on a hardware wallet such as Ledger or Trezor. These devices are designed to keep your funds safe and can help prevent severance errors.
Conclusion
Severance errors in Bitcoin Core nodes can occur due to various factors, such as low network activity, insufficient storage capacity, or high transaction fees. By implementing the solutions described above and being aware of the potential causes, you should be able to run a severance Bitcoin Core node on Linux indefinitely without encountering severance errors.