{"id":28766356,"url":"https://github.com/0xfnzero/solana-rpc-install","last_synced_at":"2026-03-01T16:01:47.224Z","repository":{"id":294247878,"uuid":"986364071","full_name":"0xfnzero/solana-rpc-install","owner":"0xfnzero","description":"Solana Node Installation Guide: Optimize Ubuntu system parameters to allow the Solana node to run on more affordable servers while maintaining good performance and block synchronization speed.","archived":false,"fork":false,"pushed_at":"2026-02-28T05:44:42.000Z","size":309,"stargazers_count":155,"open_issues_count":0,"forks_count":78,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-28T09:14:17.641Z","etag":null,"topics":["0xfnzero","agave","fnzero","geyser","grpc","jito","jito-bundle","jito-solana","shredstream","solana","solana-node","solana-rpc","yellowstone"],"latest_commit_sha":null,"homepage":"https://fnzero.dev","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xfnzero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-19T13:52:42.000Z","updated_at":"2026-02-28T05:44:46.000Z","dependencies_parsed_at":"2025-05-19T15:49:33.209Z","dependency_job_id":"55115ec8-14de-4d93-b47d-8a159d423991","html_url":"https://github.com/0xfnzero/solana-rpc-install","commit_stats":null,"previous_names":["0xfnzero/solana-node-install"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/0xfnzero/solana-rpc-install","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xfnzero%2Fsolana-rpc-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xfnzero%2Fsolana-rpc-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xfnzero%2Fsolana-rpc-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xfnzero%2Fsolana-rpc-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xfnzero","download_url":"https://codeload.github.com/0xfnzero/solana-rpc-install/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xfnzero%2Fsolana-rpc-install/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29974321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T15:41:30.362Z","status":"ssl_error","status_checked_at":"2026-03-01T15:37:07.343Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["0xfnzero","agave","fnzero","geyser","grpc","jito","jito-bundle","jito-solana","shredstream","solana","solana-node","solana-rpc","yellowstone"],"created_at":"2025-06-17T12:01:02.526Z","updated_at":"2026-03-01T16:01:47.218Z","avatar_url":"https://github.com/0xfnzero.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003e⚡ Solana RPC Install\u003c/h1\u003e\n    \u003ch3\u003e\u003cem\u003eProduction-ready Solana RPC node deployment in 3 simple steps\u003c/em\u003e\u003c/h3\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cstrong\u003eDeploy battle-tested Solana RPC nodes with stable, proven configurations and source compilation from GitHub.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/0xfnzero/solana-rpc-install/releases\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/v/release/0xfnzero/solana-rpc-install?style=flat-square\" alt=\"Release\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/0xfnzero/solana-rpc-install/blob/main/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\" alt=\"License\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/0xfnzero/solana-rpc-install\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/stars/0xfnzero/solana-rpc-install?style=social\" alt=\"GitHub stars\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/0xfnzero/solana-rpc-install/network\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/forks/0xfnzero/solana-rpc-install?style=social\" alt=\"GitHub forks\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Bash-4EAA25?style=for-the-badge\u0026logo=gnubash\u0026logoColor=white\" alt=\"Bash\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Solana-9945FF?style=for-the-badge\u0026logo=solana\u0026logoColor=white\" alt=\"Solana\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge\u0026logo=ubuntu\u0026logoColor=white\" alt=\"Ubuntu\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/RPC-00D8FF?style=for-the-badge\u0026logo=buffer\u0026logoColor=white\" alt=\"RPC Node\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"README_CN.md\"\u003e中文\u003c/a\u003e |\n    \u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e |\n    \u003ca href=\"https://fnzero.dev/\"\u003eWebsite\u003c/a\u003e |\n    \u003ca href=\"https://t.me/fnzero_group\"\u003eTelegram\u003c/a\u003e |\n    \u003ca href=\"https://discord.gg/vuazbGkqQE\"\u003eDiscord\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 🎯 System Requirements\n\n**Minimum Configuration:**\n- **CPU**: AMD Ryzen 9 9950X (or equivalent)\n- **RAM**: 128 GB minimum (256 GB recommended)\n- **Storage**: 1-3x NVMe SSDs (flexible configuration, script auto-adapts)\n  - **1 disk**: System disk only (basic setup)\n  - **2 disks**: System + 1 data disk (recommended, best cost-performance)\n  - **3 disks**: System + 2 data disks (optimal performance)\n  - **4+ disks**: System + 3 data disks (accounts/ledger/snapshot separated)\n- **OS**: Ubuntu 22.04/24.04\n- **Network**: High-bandwidth connection (1 Gbps+)\n\n## 🚀 Quick Start\n\n**Three-Step Installation**\n\n```bash\n# Switch to root user\nsudo su -\n\n# Clone repository to /root\ncd /root\ngit clone https://github.com/0xfnzero/solana-rpc-install.git\ncd solana-rpc-install\n\n# Step 1: Mount disks + System optimization\nbash 1-prepare.sh\n\n# (Optional) Verify mount configuration\nbash verify-mounts.sh\n\n# Step 2: Build Jito Solana from source (15-30 minutes)\nbash 2-install-jito-validator.sh\n# Enter version when prompted (e.g., v3.0.12)\n# Enhanced version validation with network fallback\n\n# Step 3: Download snapshot and start node\nbash 3-start.sh\n```\n\n\u003e **ℹ️ Installation Method**\n\u003e This installation uses **source compilation from GitHub** to build Jito Solana validator. This ensures you get the complete `agave-validator` binary with full MEV support required for RPC nodes.\n\n## ⚠️ Critical: Memory Management Details (Required for 128GB Systems)\n\n\u003e **📌 Why Swap Might Be Needed?**\n\u003e - **Memory peaks can exceed 128GB** during initial sync (115-130GB)\n\u003e - Without swap, node may crash with OOM\n\u003e - Swap provides safety buffer during sync phase\n\u003e - After sync stabilizes, memory usage drops to 85-105GB\n\n### 🔧 Swap Management (Optional for 128GB Systems)\n\n**Add Swap** (If needed during sync)\n\n```bash\n# Only if you see high memory pressure during sync\ncd /root/solana-rpc-install\nsudo bash add-swap-128g.sh\n\n# Script automatically checks:\n# ✓ Only adds swap if system RAM \u003c 160GB\n# ✓ Skips if swap already exists\n# ✓ Adds 32GB swap with swappiness=10 (minimal usage)\n```\n\n**Remove Swap** (After sync completes)\n\nOnce synchronization completes, memory usage stabilizes at 85-105GB, and you can remove swap for optimal performance:\n\n```bash\n# Check current memory usage\nsystemctl status sol | grep Memory\n\n# If memory peak \u003c 105GB, safe to remove swap\ncd /root/solana-rpc-install\nsudo bash remove-swap.sh\n```\n\n### 📊 Decision Guidelines\n\n| Memory Peak | Recommended Action |\n|-------------|-------------------|\n| **\u003c 105GB** | ✅ Can remove swap for optimal performance |\n| **105-110GB** | ⚠️ Recommended to keep swap as buffer |\n| **\u003e 110GB** | 🔴 Must keep swap to prevent OOM |\n\n**Note**: If memory issues occur after removing swap, you can always add it back:\n```bash\ncd /root/solana-rpc-install\nsudo bash add-swap-128g.sh\n```\n\n---\n\n## 🚀 Next Steps: Install Jito ShredStream\n\nAfter completing your RPC node installation, you can enhance performance with Jito ShredStream:\n\n- **Quick Start Guide**: [QUICK_START.md](https://github.com/0xfnzero/jito-shredstream-install/blob/main/QUICK_START.md)\n- **Repository**: [jito-shredstream-install](https://github.com/0xfnzero/jito-shredstream-install)\n\nShredStream provides low-latency block streaming for Jito MEV infrastructure.\n\n## 📊 Monitoring \u0026 Management\n\n```bash\n# Real-time logs\njournalctl -u sol -f\n\n# Performance monitoring\nbash /root/performance-monitor.sh snapshot\n\n# Health check (available after 30 minutes)\n/root/get_health.sh\n\n# Sync progress\n/root/catchup.sh\n```\n\n## ✨ Key Features\n\n### 🔧 Battle-Tested Configuration Philosophy\n\nAll configurations are based on **proven production deployments** with thousands of hours of uptime:\n\n- **Conservative Stability \u003e Aggressive Optimization**\n- **Simple Defaults \u003e Complex Customization**\n- **Proven Performance \u003e Theoretical Gains**\n\n### 📦 System Optimizations (No Reboot Required)\n\n- 🌐 **TCP Congestion Control**: Westwood (classic, stable algorithm)\n- 🔧 **TCP Buffers**: 12MB (conservative, low-latency optimized)\n- 💾 **File Descriptors**: 1M limit (sufficient for production)\n- 🛡️ **Memory Management**: swappiness=30 (balanced approach)\n- 🔄 **VM Settings**: Conservative dirty ratios for stability\n\n### ⚡ Yellowstone gRPC Configuration\n\n- ✅ **Compression Enabled**: gzip + zstd (reduces memory copy overhead)\n- 📦 **Conservative Buffers**: 50M snapshot, 200K channel (fast processing)\n- 🎯 **Proven Defaults**: System-managed Tokio, default HTTP/2 settings\n- 🛡️ **Resource Protection**: Strict filter limits prevent abuse\n\n### 🚀 Deployment Features\n\n- 📦 **Source Compilation Installation**:\n  - 🔧 Jito Solana from official GitHub (15-30 min)\n  - ✅ Complete validator binary with full MEV support\n  - 🎯 100% compliant with Jito Foundation standards\n- 🧠 **Intelligent Configuration Selection**: Auto-detects system RAM and selects optimal validator configuration\n  - TIER 1 (128GB): Conservative settings for 128-159GB systems\n  - TIER 2 (192GB): Balanced configuration for 192-223GB systems\n  - TIER 3 (256GB): High-performance for 256-383GB systems\n  - TIER 4 (512GB+): Maximum capacity for enterprise deployments\n- 🔄 **Automatic Disk Management**: Smart disk detection and mounting\n- 🛡️ **Production Ready**: Systemd service with dynamic memory limits and OOM protection\n- 🌐 **Network Resilience**: Enhanced version verification with graceful degradation\n- 📊 **Monitoring Tools**: Performance tracking and health checks included\n\n## 🔌 Network Ports\n\n| Port | Protocol | Purpose |\n|------|----------|---------|\n| **8899** | HTTP | RPC endpoint |\n| **8900** | WebSocket | Real-time subscriptions |\n| **10900** | gRPC | High-performance data streaming |\n| **8000-8025** | TCP/UDP | Validator communication (dynamic) |\n\n## 📈 Performance Metrics\n\n- **Snapshot Download**: Network-dependent (typically 200MB - 1GB/s)\n- **Memory Usage**: 60-110GB during sync, 85-105GB stable (optimized for 128GB systems)\n- **Sync Time**: 1-3 hours (from snapshot)\n- **CPU Usage**: Multi-core optimized (32+ cores recommended)\n- **Stability**: Proven configuration with \u003e99.9% uptime in production\n\n## 🛠️ Architecture\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                   Solana RPC Node Stack                  │\n├─────────────────────────────────────────────────────────┤\n│  Jito Solana Validator (v3.0.x)                         │\n│  ├─ Installation: Source compilation from GitHub        │\n│  │  • agave-validator with full MEV support             │\n│  │  • 100% Jito Foundation compliant (15-30 min)        │\n│  ├─ Yellowstone gRPC Plugin v10.0.1 (Data streaming)   │\n│  ├─ RPC HTTP/WebSocket (Port 8899/8900)                 │\n│  └─ Accounts \u0026 Ledger (Optimized RocksDB)               │\n├─────────────────────────────────────────────────────────┤\n│  System Optimizations (Battle-Tested)                   │\n│  ├─ TCP: 12MB buffers, Westwood congestion control      │\n│  ├─ Memory: swappiness=30, balanced VM settings         │\n│  ├─ File Descriptors: 1M limit, sufficient for prod     │\n│  └─ Stability: Conservative defaults, proven in prod    │\n├─────────────────────────────────────────────────────────┤\n│  Yellowstone gRPC (Open-Source Tested Config)           │\n│  ├─ Compression: gzip+zstd enabled (fast processing)    │\n│  ├─ Buffers: 50M snapshot, 200K channel (low latency)   │\n│  ├─ Defaults: System-managed, no over-optimization      │\n│  └─ Protection: Strict filters, resource limits         │\n├─────────────────────────────────────────────────────────┤\n│  Infrastructure                                          │\n│  ├─ Systemd Service (Auto-restart, graceful shutdown)   │\n│  ├─ Multi-disk Setup (System/Accounts/Ledger)           │\n│  └─ Monitoring Tools (Performance/Health/Catchup)       │\n└─────────────────────────────────────────────────────────┘\n```\n\n## 🧪 Configuration Philosophy\n\n### Why Conservative Configuration?\n\nBased on extensive production testing, we discovered:\n\n1. **Compression Enabled = Lower Latency**\n   - Even on localhost, compressed data transfers faster in memory\n   - CPU overhead is minimal, latency reduction is significant\n\n2. **Smaller Buffers = Faster Processing**\n   - 50M snapshot vs 250M: Less queue delay, faster throughput\n   - 200K channel vs 1.5M: Reduced \"buffer bloat\" latency\n\n3. **System Defaults = Better Stability**\n   - No custom Tokio threads: Let system auto-manage\n   - No custom HTTP/2 settings: Defaults are already optimized\n   - Fewer custom parameters = Fewer potential issues\n\n4. **Proven in Production**\n   - Thousands of hours of uptime\n   - Tested across different hardware configurations\n   - Battle-tested under real-world load\n\n### 📚 Backup Configuration\n\nIf you need the aggressive optimization config for specific use cases:\n- Extreme config backed up as `yellowstone-config-extreme-backup.json`\n- Accessible in repository history (commit 6cc31d9)\n\n## 📚 Documentation\n\n- **Installation Guide**: You're reading it!\n- **Mount Strategy**: See [MOUNT_STRATEGY.md](MOUNT_STRATEGY.md)\n- **Troubleshooting**: Check logs with `journalctl -u sol -f`\n- **Configuration**: All optimizations included by default\n- **Monitoring**: Use provided helper scripts\n- **Optimization Details**: See `YELLOWSTONE_OPTIMIZATION.md`\n\n## 🤝 Support \u0026 Community\n\n- **Telegram**: [https://t.me/fnzero_group](https://t.me/fnzero_group)\n- **Discord**: [https://discord.gg/vuazbGkqQE](https://discord.gg/vuazbGkqQE)\n- **Issues**: [GitHub Issues](https://github.com/0xfnzero/solana-rpc-install/issues)\n- **Website**: [https://fnzero.dev/](https://fnzero.dev/)\n\n## 📜 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n    \u003cp\u003e\n        \u003cstrong\u003e⭐ If this project helps you, please give us a Star!\u003c/strong\u003e\n    \u003c/p\u003e\n    \u003cp\u003e\n        Made with ❤️ by \u003ca href=\"https://github.com/0xfnzero\"\u003efnzero\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xfnzero%2Fsolana-rpc-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xfnzero%2Fsolana-rpc-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xfnzero%2Fsolana-rpc-install/lists"}