Get an Invite code! — Register for the node and provide your contact information and geographic information where the PoP node will be located.
Airtable link: https://airtable.com/apph9N7T0WlrPqnyc/pagSLmmUFNFbnKVZh/form
Testnet Info's CLICK HERE
| Resource | Requirement |
|---|---|
| CPU | 4 Cores |
| RAM | 16 GB |
| Storage | 100 GB SSD |
| Internet | 1 Gbps |
| Last Update | 10-05-2025 |
Note: Only users who received an email invitation are eligible to run this node.
sudo systemctl stop pipe-pop.service
sudo systemctl disable pipe-pop.service
sudo apt update && sudo apt install libssl-dev ca-certificates -y
- Ensure the required ports (443 and 80) are open:
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo bash -c 'cat > /etc/sysctl.d/99-popcache.conf << EOL
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
EOL'
sudo sysctl -p /etc/sysctl.d/99-popcache.conf
sudo bash -c 'cat > /etc/security/limits.d/popcache.conf << EOL
* hard nofile 65535
* soft nofile 65535
EOL'
- Logout and log back in to apply changes before proceeding.
sudo mkdir -p /opt/popcache/logs
cd /opt/popcache
wget https://download.pipe.network/static/pop-v0.3.0-linux-x64.tar.gz
sudo tar -xzf pop-v0.3.0-linux-*.tar.gz
chmod 755 /opt/popcache/pop
nano config.json
- Paste the following config and edit the required fields:
{
"pop_name": "your-pop-name",
"pop_location": "Your-City, Country",
"invite_code": "your-invite-code",
"server": {
"host": "0.0.0.0",
"port": 443,
"http_port": 80,
"workers": 40
},
"cache_config": {
"memory_cache_size_mb": 4096,
"disk_cache_path": "./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": "Your_Node_Name",
"name": "Your_Name",
"email": "your.email@example.com",
"website": "https://your-website.com",
"discord": "your_discord_username",
"telegram": "your_telegram",
"solana_pubkey": "YOUR_SOLANA_ADDRESS"
}
}
- Replace
your-pop-namewith your own name - Replace
Your-City, Your-Country - Replace
your-invite-code - Replace
Your_Node_Name - Replace
Your_Name - Replace
your.email@example.comCode reciever - Replace
https://your-website.comIf you don’t have one, just skip it. - Replace
your_discord_username - Replace
your_telegram_handle - Replace
YOUR_SOLANA_WALLET_ADDRESSwith your DEVNET address or use other wallet addess - Save with:
CTRL + X, thenY, thenEnter.
sudo bash -c 'cat > /etc/systemd/system/popcache.service << EOL
[Unit]
Description=POP Cache Node
After=network.target
[Service]
Type=simple
User=root
Group=root
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
EOL'
sudo systemctl enable popcache
sudo systemctl daemon-reload
sudo systemctl start popcache
- Check Node status:
sudo systemctl status popcache
Note:
That /opt/popcache/logs/stderr.log contains all error logs since node was first started. so, it's possible that what you're seeing is logs from a long time ago that don't really affect the current state of node anymore, especially if node is running normally now.
- To verify current state of node, simply do following, Check if ports
80and443are open:
ss -tulpn | grep -E ':80|:443'
- Check
state:
curl -sk https://localhost/state && echo -e "\n"
- Check
metrics:
curl -sk https://localhost/metrics && echo -e "\n"
- Check
health:
curl -sk https://localhost/health && echo -e "\n"
- Monitor application logs:
tail -f /opt/popcache/logs/stderr.log
tail -f /opt/popcache/logs/stdout.log
- Monitor system service logs:
sudo journalctl -u popcache -f
- Stop the service:
sudo systemctl stop popcache
- Delete the node state file (to fix hardware mismatch):
rm /opt/popcache/.pop_state.json
- Edit your config (optional):
cd /opt/popcache
nano /opt/popcache/config.json
- Change your
Pop Name
- Start the service:
sudo systemctl start popcache
- Check service status:
sudo systemctl status popcache
- Check you
Node ID:
curl -sk https://localhost/state && echo -e "\n"
Configure your Pipe Checker bot
📚 Reference: Official Docs: https://docs.pipe.network/nodes/testnet








