Skip to main content

📡 Pipe Network Testnet Node

This guide helps you set up a Pipe Network PoP Cache Node on the official Testnet.

🟢ACTIVE(2025)
Guide tested and maintained

📡 Pipe Network Testnet Node Installation

📋 System Requirements

🖥️ Minimum System:
  • CPU: 2 cores (4+ cores recommended)
  • RAM: 4GB (16GB+ recommended)
  • Storage: 10GB+ available (100GB+ SSD recommended)
  • Network: 1Gbps+ connection preferred
  • OS: Ubuntu 18.04+ / Debian 10+ / CentOS 7+

🔮 What is Pipe Network?

Official Testnet🟡 Medium

Pipe Network is revolutionizing content delivery by building the world's first decentralized Content Distribution Network (CDN). The Pipe testnet allows you to participate in groundbreaking infrastructure that makes the internet faster, more efficient, and censorship-resistant.

⏱️ Setup Time: 20-30 minutes
🔑 Prerequisites:
  • Invite Code from Pipe Network Airtable registration
  • Solana wallet address for receiving rewards
  • Geographic location outside major data centers preferred

🛠️ Step 1: Prepare Your System

Update & Install Dependencies

# Update system packages
sudo apt update && sudo apt upgrade -y

# Install essential tools
sudo apt install curl wget jq nano ufw htop net-tools -y
# Create popcache user
sudo useradd -r -m -s /bin/bash popcache -d /home/popcache

# Create necessary directories
sudo mkdir -p /opt/popcache
sudo mkdir -p /opt/popcache/logs
sudo mkdir -p /opt/popcache/cache

# Set ownership
sudo chown -R popcache:popcache /opt/popcache

🔧 Step 2: System Optimization

Configure Network Performance

# Create sysctl configuration for optimal performance
sudo tee /etc/sysctl.d/99-popcache.conf << 'EOF'
# Network optimization for Pipe Cache Node
net.ipv4.ip_local_port_range = 1024 65535
net.core.somaxconn = 65535
net.ipv4.tcp_low_latency = 1
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF

# Apply settings
sudo sysctl -p /etc/sysctl.d/99-popcache.conf

Configure File Limits

# Set file limits for popcache user
sudo tee /etc/security/limits.d/popcache.conf << 'EOF'
popcache soft nofile 65535
popcache hard nofile 65535
popcache soft nproc 4096
popcache hard nproc 4096
EOF

📦 Step 3: Download & Install Pipe Binary

Download Latest Binary

# Change to popcache user
sudo su - popcache

# Download the Pipe binary (check for latest version)
cd /opt/popcache
wget -O pop "https://github.com/PipeNetwork/pip-node/releases/latest/download/pop-linux-amd64"

# Make executable
chmod +x pop

# Verify download
./pop --help

Test Binary

# Quick test to ensure binary works
./pop --version

⚙️ Step 4: Create Configuration

Create Config File

# Create configuration file
nano /opt/popcache/config.json

Add this configuration (adjust values for your setup):

{
"pop_name": "my-pipe-node",
"pop_location": "City, Country",
"server": {
"host": "0.0.0.0",
"port": 443,
"http_port": 80,
"workers": 0
},
"cache_config": {
"memory_cache_size_mb": 8192,
"disk_cache_path": "/opt/popcache/cache",
"disk_cache_size_gb": 100,
"default_ttl_seconds": 86400,
"respect_origin_headers": true,
"max_cacheable_size_mb": 1024
},
"api_endpoints": {
"base_url": "https://dataplane.pipenetwork.com"
},
"identity_config": {
"node_name": "my-pipe-node",
"name": "Your Name",
"email": "[email protected]",
"website": "https://your-website.com",
"discord": "your_discord_username",
"telegram": "your_telegram_handle",
"solana_pubkey": "YOUR_SOLANA_WALLET_ADDRESS"
}
}

🔧 Configuration Tips:

  • memory_cache_size_mb: Set to 50-70% of available RAM (8192 = 8GB)
  • disk_cache_size_gb: Leave 20% disk space free (100GB for 500GB disk)
  • workers: Set to 0 for auto-detection, or number of CPU cores
  • solana_pubkey: Required for receiving rewards
  • pop_location: Your actual geographic location

🔥 Step 5: Configure Firewall

# Exit popcache user back to root
exit

# Configure UFW firewall
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

# Check firewall status
sudo ufw status

🚀 Step 6: Create Systemd Service

Create Service File

sudo nano /etc/systemd/system/popcache.service

Add this configuration:

[Unit]
Description=Pipe Network PoP Cache Node
After=network.target
Wants=network-online.target

[Service]
Type=simple
User=popcache
Group=popcache
WorkingDirectory=/opt/popcache
ExecStart=/opt/popcache/pop
Restart=always
RestartSec=5
LimitNOFILE=65535
StandardOutput=append:/opt/popcache/logs/stdout.log
StandardError=append:/opt/popcache/logs/stderr.log
Environment=POP_CONFIG_PATH=/opt/popcache/config.json

[Install]
WantedBy=multi-user.target

Enable & Start Service

# Reload systemd daemon
sudo systemctl daemon-reload

# Enable service to start on boot
sudo systemctl enable popcache

# Start the service
sudo systemctl start popcache

# Check service status
sudo systemctl status popcache

📊 Step 7: Monitor Your Node

Check Service Status

# Service status
sudo systemctl status popcache

# View logs in real-time
sudo journalctl -u popcache -f

# Check recent logs
sudo journalctl -u popcache -n 100 --no-pager

Check Node Connectivity

# Test if ports are listening
sudo netstat -tulnp | grep -E "(80|443)"

# Test HTTP connectivity
curl -I http://localhost:80

# Test HTTPS connectivity (may show certificate error, that's normal)
curl -k -I https://localhost:443

Monitor Performance

# Check system resources
htop

# Check disk usage
df -h

# Check network connections
ss -tuln

🎯 Step 8: Register Your Node

Initial Registration

When you first start the node, it will prompt for your invite code:

# If prompted for invite code, enter it via logs or restart
sudo systemctl restart popcache

# Watch logs for registration process
sudo journalctl -u popcache -f

Check Node Status

# View node status (run as popcache user)
sudo su - popcache
cd /opt/popcache
./pop --status

# Check node metrics
./pop --metrics

🔧 Step 9: Log Management

Setup Log Rotation

sudo nano /etc/logrotate.d/popcache

Add log rotation config:

/opt/popcache/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 popcache popcache
sharedscripts
postrotate
systemctl reload popcache >/dev/null 2>&1 || true
endscript
}

🔍 Step 10: Monitoring & Health Checks

Built-in Monitoring Endpoints

# Health check
curl http://localhost:80/health

# Metrics endpoint
curl http://localhost:80/metrics

# Node info
curl http://localhost:80/info

Create Health Check Script

sudo nano /opt/popcache/health_check.sh
#!/bin/bash
# Pipe Network Health Check Script

LOG_FILE="/opt/popcache/logs/health_check.log"
DATE=$(date '+%Y-%m-%d %H:%M:%S')

# Check if service is running
if ! systemctl is-active --quiet popcache; then
echo "[$DATE] ERROR: popcache service is not running" >> $LOG_FILE
sudo systemctl restart popcache
exit 1
fi

# Check HTTP endpoint
if ! curl -f http://localhost:80/health >/dev/null 2>&1; then
echo "[$DATE] ERROR: HTTP health check failed" >> $LOG_FILE
exit 1
fi

echo "[$DATE] INFO: Health check passed" >> $LOG_FILE
exit 0
# Make executable
sudo chmod +x /opt/popcache/health_check.sh

# Add to crontab for automatic monitoring
(crontab -l 2>/dev/null; echo "*/5 * * * * /opt/popcache/health_check.sh") | crontab -

🛠️ Troubleshooting

Common Issues

❌ Service fails to start

# Check detailed logs
sudo journalctl -u popcache -n 50 --no-pager

# Verify configuration
sudo su - popcache
cd /opt/popcache
./pop --check-config

❌ Port binding issues

# Check what's using ports 80/443
sudo lsof -i :80
sudo lsof -i :443

# If Apache/Nginx is running, stop them
sudo systemctl stop apache2 nginx

❌ Permission issues

# Fix ownership
sudo chown -R popcache:popcache /opt/popcache

# Check permissions
ls -la /opt/popcache/

❌ Configuration errors

  • Verify JSON syntax with: python3 -m json.tool config.json
  • Ensure all required fields are filled
  • Check Solana address format

Performance Optimization

# Monitor cache hit rates
curl http://localhost:80/metrics | grep cache

# Check disk I/O
iostat -x 1

# Monitor memory usage
free -h && cat /proc/meminfo | grep Cache

📈 Next Steps

  1. Monitor Performance - Keep an eye on logs and metrics
  2. Join Community - Connect with other operators in Pipe Discord
  3. Optimize Settings - Adjust cache sizes based on usage patterns
  4. Scale Up - Consider upgrading hardware for better performance

⚠️ Important Notes

  • Keep your node online 24/7 for best rewards
  • Monitor disk space - cache can grow quickly
  • Update configuration as network evolves
  • Backup your config - keep a copy of your configuration

🎊 Congratulations!

You're now running a Pipe Network PoP Cache Node on testnet! Your node helps build a decentralized CDN that makes the internet faster and more resilient.

Useful Links:


🚀 Pro Tip: Join the Pipe Discord to get updates on testnet progress and connect with other node operators!

© 2025 TokioStack. All rights reserved.
DMCA.com Protection Status