🌐 Netzwerkeinrichtung

Bevor Ihr Server shreds empfangen kann, müssen Sie den richtigen Port öffnen und Ihre OS-Netzwerkpuffer konfigurieren. Das gilt für die UDP-Auslieferung — ob Sie einen eigenen UDP-Receiver oder den Client des Decoded Shred Stream betreiben. Die gRPC-Auslieferung (Decoded Shred Stream) ist eine ausgehende Verbindung: Es ist kein eingehender Port zu öffnen, nur das Buffer-Tuning bleibt hilfreich.

Sie nutzen den Client des Decoded Shred Stream? Der Client konfiguriert den Socket-Empfangspuffer automatisch. Die folgenden Schritte für Firewall und OS-Tuning müssen Sie dennoch durchführen.


🔒 Firewall-Konfiguration

Öffnen Sie den UDP-Port, den Sie bei ShredStream.com konfiguriert haben. Der genaue Befehl hängt von Ihrer Linux-Distribution ab.

🔹 UFW (Ubuntu / Debian)

bash
sudo ufw allow 8001/udp

🔹 iptables

bash
sudo iptables -A INPUT -p udp --dport 8001 -j ACCEPT

Um die Regel über Neustarts hinweg beizubehalten, speichern Sie sie mit iptables-save oder dem Persistenz-Mechanismus Ihrer Distribution (z. B. netfilter-persistent).

🔹 firewalld (CentOS / RHEL / Fedora)

bash
sudo firewall-cmd --permanent --add-port=8001/udp
sudo firewall-cmd --reload

Wenn Ihr Server hinter einer Security Group eines Cloud-Anbieters (AWS, GCP, Azure usw.) steht, müssen Sie den eingehenden UDP-Verkehr auf demselben Port auch in der Cloud-Konsole freigeben.


📐 UDP-Buffer-Tuning

Solana-Validatoren erzeugen shreds mit sehr hoher Rate. Der Standard-UDP-Empfangspuffer unter Linux beträgt typischerweise 256 KB -- das ist bei Weitem zu klein und führt unter Last zu Paketverlusten. Setzen Sie den Empfangspuffer auf mindestens 25 MB.

⚡ Sofort anwenden

bash
# Linux
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.rmem_default=26214400
# macOS
sudo sysctl -w kern.ipc.maxsockbuf=33554432

💾 Über Neustarts hinweg beibehalten

bash
echo 'net.core.rmem_max=26214400' | sudo tee -a /etc/sysctl.conf
echo 'net.core.rmem_default=26214400' | sudo tee -a /etc/sysctl.conf

Dann überprüfen:

bash
sysctl net.core.rmem_max net.core.rmem_default

Beide Werte sollten 26214400 anzeigen.

Das Auslassen des Buffer-Tunings ist die häufigste Ursache für fehlende shreds. Wenn Ihr Listener Lücken in den Daten meldet, überprüfen Sie zuerst Ihre Buffer-Einstellungen.


✅ Setup überprüfen

Sobald Ihr Listener läuft und Ihr Stream im ShredStream.com-Dashboard aktiv ist, sollten Sie innerhalb von Sekunden Ausgaben sehen.

Checkliste, wenn keine shreds ankommen:

  1. Dashboard-Status — Bestätigen Sie, dass Ihr Stream Aktiv anzeigt und die Verbindungs-IP sowie der Port mit Ihrem Server übereinstimmen.
  2. Firewall — Überprüfen Sie, dass der UDP-Port offen ist. Testen Sie von einem anderen Rechner aus mit nc -u <your-ip> 8001.
  3. Öffentliche IP — Stellen Sie sicher, dass Sie die öffentliche IPv4-Adresse Ihres Servers eingegeben haben, nicht eine private oder interne IP.
  4. Buffer-Größe — Führen Sie sysctl net.core.rmem_max aus, um zu bestätigen, dass der Buffer auf mindestens 26214400 gesetzt ist.
  5. Listener-Binding — Stellen Sie sicher, dass Ihr Listener an 0.0.0.0 (alle Interfaces) gebunden ist, nicht an 127.0.0.1 (nur localhost).

Wenn alles stimmt und Sie dennoch keine Daten empfangen, lesen Sie Fehlerbehebung oder wenden Sie sich an Discord.

Netzwerkeinrichtung — Docs | ShredStream.com