Running an Ergo Node on Raspberry Pi
Run an Ergo full node on Raspberry Pi - small, inexpensive, and meets the requirements. The Raspberry Pi is small, inexpensive, and meets the requirements to run an Ergo full node.
What is Raspberry Pi Node Setup?
The Raspberry Pi is small, inexpensive, and meets the requirements to run an Ergo full node. This guide provides step-by-step instructions for setting up and running an Ergo node on Raspberry Pi hardware.
Hardware Requirements
Meeting these requirements is crucial for a stable experience on Raspberry Pi.
- Pi4 with 4GB RAM or above is optimal
- SSD with 64GB+ preferred for disk I/O
- Well-ventilated area for cooling
SWAP Configuration
Increase swap space to ensure smooth setup process and prevent memory issues during sync.
- Increase to 4096MB swap size
- Reboot after configuration
- Disable screen-saver during sync
Quick Setup
One-click script for easy setup that downloads the latest version and prompts for API key configuration.
- Automated installation
- Progress monitoring
- API key setup
Performance Tips
Optimize your Raspberry Pi setup for better performance and stability.
- WiFi has less issues than Ethernet
- Use ZRAM for memory optimization
- Set memory limit with -Xmx2g flag
How Raspberry Pi Node Setup Works
The Raspberry Pi provides a cost-effective way to run an Ergo node. The setup process involves installing Java, configuring swap space, and managing resources appropriately for the ARM architecture.
Preparation
Install the Java JDK and configure your system for optimal performance.
Install Java
sudo apt update && sudo apt upgrade -y sudo apt install default-jdk -y
SWAP Configuration
Increase the swap space your Pi has access to:
sudo dphys-swapfile swapoff sudo nano /etc/dphys-swapfile
Increase to 4096 (MB)
CONF_SWAPSIZE=4096
Then re-enable the swap and reboot:
sudo dphys-swapfile setup sudo dphys-swapfile swapon sudo reboot now
Quick Start
This script will download the latest version of the node, prompt you to set an API key, and start the sync while displaying the progress in terminal.
bash -c "$(curl -s https://node.phenotype.dev)"
If you'd prefer to get set up manually, here's a step-by-step guide. When ready to launch the node make sure to set a maximum limit of 2GB by using the -Xmx2g flag.
Light Mode Configuration
A basic config on mainnet should look like this:
ergo {
node {
mining = false
}
}
scorex {
restApi {
apiKeyHash = "$BLAKE_HASH"
}
}There are several configuration options that can be tweaked in your ergo.conf file. The resource directory on the main GitHub repository has examples of all available options.
Key Configuration Options
skipV1TransactionsValidation: Skip validation of transactions before block 417,792blocksToKeep: Number of blocks to keep with transactions and ADproofsstateType: OptionsutxoanddigestmaxConnections: Maximum amount of peers to connect to
State Types
utxo: Keep full utxo set, allows validation of arbitrary block and generate ADProofs (default)digest: Keep state root hash only and validate transactions via ADProofs
Launch Command
java -jar -Xmx2g ergo.jar --mainnet -c ergo.conf
Tips and Tricks
Apply these tips for optimal performance:
Network Connection
WiFi has less issues than Ethernet for Raspberry Pi setups.
Cooling
Make sure your Pi is in a well-vented area to prevent thermal throttling.
Memory Optimization
Using ZRAM for better memory management.
Display Settings
Disable your screen-saver for the sync process to prevent interruptions.
Troubleshooting
If the node fails to start, check these common issues:
Memory Issues
- • Ensure swap is properly configured
- • Check available memory with
free -h - • Use
-Xmx2gflag for Java
Configuration Issues
- • Correct Ergo node JAR file
- • Syntax errors in
ergo.conf - • Sufficient storage space