DigiByteNode

DigiByte
A full bash script installer for the DigiByte Node V 8.22.2

DigiByte
#!/bin/bash
#chmod +x setup_digibyte_node.sh
#sudo ./setup_digibyte_node.sh
# Script to set up a DigiByte Core v8.22.2 full node on Ubuntu Server
# Tested on Ubuntu 22.04/24.04 LTS for Intel NUC or similar
# Disables wallet, sets up systemd service, and includes seed nodes
# Run as root or with sudo: sudo ./setup_digibyte_node.sh
# Author: Grok and Brian (with love for the DigiByte community)
# Exit on any error
set -e
# Colors for output
RED=’\033[0;31m’
GREEN=’\033[0;32m’
NC=’\033[0m’ # No Color
# Check if running as root
if [ “$EUID” -ne 0 ]; then
echo -e “${RED}ERROR: This script must be run as root (use sudo).${NC}”
exit 1
fi
echo -e “${GREEN}Starting DigiByte Core v8.22.2 full node setup…${NC}”
# Step 1: Update system and install dependencies
echo “Updating system and installing required packages…”
apt update && apt upgrade -y
apt install -y curl wget tar unzip build-essential ufw
# Step 2: Create digibyte user
echo “Creating digibyte user…”
if id “digibyte” >/dev/null 2>&1; then
echo “User digibyte already exists, skipping creation.”
else
useradd -m -s /bin/bash digibyte
echo “Setting password for digibyte user (you’ll be prompted)…”
passwd digibyte
fi
# Step 3: Set up 8GB swap
echo “Setting up 8GB swap file…”
if [ -f /swap ]; then
echo “Swap file already exists, skipping creation.”
else
fallocate -l 8G /swap
chmod 0600 /swap
mkswap /swap
swapon /swap
echo “/swap none swap sw 0 0” >> /etc/fstab
fi
free -h | grep -E “Mem|Swap”
# Step 4: Download and install DigiByte Core v8.22.2
echo “Downloading and installing DigiByte Core v8.22.2…”
su – digibyte -c “
cd ~
wget https://github.com/DigiByte-Core/digibyte/releases/download/v8.22.2/digibyte-8.22.2-x86_64-linux-gnu.tar.gz
tar -xzf digibyte-8.22.2-x86_64-linux-gnu.tar.gz
“
mv /home/digibyte/digibyte-8.22.2 /usr/local/digibyte-8.22.2
rm -f /usr/local/digibyte
ln -s /usr/local/digibyte-8.22.2 /usr/local/digibyte
# Verify binary
if /usr/local/digibyte/bin/digibyted –version | grep -q “8.22.2”; then
echo -e “${GREEN}DigiByte Core v8.22.2 installed successfully!${NC}”
else
echo -e “${RED}ERROR: DigiByte binary not found or wrong version. Check /usr/local/digibyte/bin/digibyted.${NC}”
exit 1
fi
# Step 5: Configure DigiByte
echo “Creating digibyte.conf with wallet disabled and seed nodes…”
su – digibyte -c “
mkdir -p ~/.digibyte
cat <<EOF > ~/.digibyte/digibyte.conf
daemon=1
maxconnections=300
disablewallet=1
addnode=seed.digibyte.io
addnode=digibyte.cc
addnode=digihash.co
EOF
“
chown -R digibyte:digibyte /home/digibyte/.digibyte
# Step 6: Set up systemd service
echo “Creating systemd service for digibyted…”
cat <<EOF > /etc/systemd/system/digibyted.service
[Unit]
Description=DigiByte Daemon
After=network.target
[Service]
User=digibyte
Group=digibyte
Type=forking
PIDFile=/home/digibyte/.digibyte/digibyted.pid
ExecStart=/usr/local/digibyte/bin/digibyted -daemon -pid=/home/digibyte/.digibyte/digibyted.pid -conf=/home/digibyte/.digibyte/digibyte.conf -datadir=/home/digibyte/.digibyte
Restart=always
PrivateTmp=true
TimeoutStopSec=60s
TimeoutStartSec=2s
StartLimitInterval=120s
StartLimitBurst=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable digibyted.service
# Step 7: Open firewall port
echo “Opening port 12024 for DigiByte…”
ufw allow 12024/tcp
ufw –force enable
ufw status
# Step 8: Start the node
echo “Starting DigiByte node…”
systemctl start digibyted.service
sleep 5
if systemctl is-active –quiet digibyted.service; then
echo -e “${GREEN}DigiByte node started successfully!${NC}”
else
echo -e “${RED}ERROR: Failed to start digibyted. Check logs with: journalctl -u digibyted.service${NC}”
exit 1
fi
# Step 9: Provide user instructions
echo -e “${GREEN}Setup complete! Your DigiByte full node is running.${NC}”
echo “To monitor sync progress, run:”
echo ” su – digibyte -c ‘/usr/local/digibyte/bin/digibyte-cli getblockchaininfo'”
echo “To check network connections, run:”
echo ” su – digibyte -c ‘/usr/local/digibyte/bin/digibyte-cli getnetworkinfo'”
echo “To view logs, run:”
echo ” tail -f /home/digibyte/.digibyte/debug.log”
echo -e “${GREEN}Note:${NC} Sync may take 4-24 hours. Ensure port 12024 is forwarded on your router for an open node.”
echo -e “${GREEN}If sync is stuck, check your router’s ARP table or add more seed nodes to ~/.digibyte/digibyte.conf.${NC}”
echo -e “${GREEN}Enjoy supporting the DigiByte network!${NC}”