Direct Shreds - UDP Forwarding Standard (Raw Shreds)
UDP Forwarding Standard يعيد توجيه Raw Shreds عبر UDP إلى عنوان IPv4 العام والمنفذ المضبوطين لاشتراكك. اختر منطقة متاحة أثناء الإعداد الأولي، ثم احفظ عنوان IPv4 عامًا صالحًا وغير فارغ مع المنفذ كوجهة. يمكنك تحديث الوجهة لاحقًا. يطبّق ERPC إعداد إعادة التوجيه وفق دورة تحديث مدتها 30 ثانية، ولا يلزم تفعيل heartbeat. يمكنك أيضًا تغيير المنطقة لاحقًا من لوحة التحكم، بعدد المرات الذي تحتاج إليه. يؤدي تغيير المنطقة إلى تغيير عنوان IP المصدر، لذلك يجب أن يسمح جدار الحماية في جهة الاستقبال بعنوان IP المصدر الجديد. ينقطع التسليم لفترة وجيزة أثناء انتقال الاشتراك إلى المنطقة الجديدة. وإذا لم تكن في المنطقة الجديدة سعة متاحة في الوقت الحالي، فلن يُنفَّذ هذا التغيير، ولن تتغير المنطقة ولا الوجهة.
كيف تعمل إعادة توجيه UDP
- يعيد ERPC توجيه Raw Shreds عبر UDP إلى الوجهة المضبوطة.
- لا يوفّر UDP إعداد الاتصال ولا إعادة الإرسال ولا ترتيب الحزم؛ وينبغي أن يتعامل المستقبِل لديك مع الحزم وفقًا لذلك.
ملاحظة: نقطة نهاية Shreds gRPC المشتركة تعمل عبر TCP، لذا فهي أبطأ من UDP Shreds.
جرّب ذلك باستخدام Solana Stream SDK
- الكود النموذجي (
shreds-udp-rs، بلغة Rust): اكتشاف التوكنات الجديدة مجرد مثال شائع — استبدله بهدفك الخاص.
https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/shreds-udp-rs - اضبط المستقبِل لديك على عنوان الوجهة
ip:portالمحفوظ لـ UDP Forwarding Standard. - لم تنتقل إلى UDP بعد؟ شغّل الكود النموذجي محليًا أو على خادمك الخاص لاستكشاف السجلات وتخصيص الخطافات.
حزم UDP لا تصل
تبدأ إعادة توجيه UDP تلقائيًا بعد ضبط الوجهة. لا حاجة إلى تفعيل عبر heartbeat؛ فاستجابة heartbeat بـ
UNIMPLEMENTED لا تعني أن إعادة التوجيه معطّلة.أولًا، التقط حركة المرور عند واجهة شبكة المضيف. استبدل العناصر النائبة بعنوان IP المصدر الخاص بـ ERPC الظاهر لتدفقك وبمنفذ الوجهة الذي ضبطته.
Linux (
tcpdump):bash
sudo tcpdump -ni any 'udp dst port <DESTINATION_PORT> and src host <ERPC_SOURCE_IP>'sudo tcpdump -ni any 'udp dst port <DESTINATION_PORT> and src host <ERPC_SOURCE_IP>'Windows (
Pktmon، شغّله كمسؤول):powershell
pktmon filter add ERPC-UDP -t UDP -i <ERPC_SOURCE_IP> -p <DESTINATION_PORT>
pktmon start --capture --comp nics --log-mode real-timepktmon filter add ERPC-UDP -t UDP -i <ERPC_SOURCE_IP> -p <DESTINATION_PORT>
pktmon start --capture --comp nics --log-mode real-time- إذا بقي عدد الحزم الملتقطة صفرًا، فتحقق من كلٍّ من جدار الحماية في نظام التشغيل وجدران الحماية خارجه. قد يرشّح Hetzner حركة المرور في Cloud Firewall أو في Robot Firewall عند منفذ المبدّل. وعلى AWS، تحقق من Security Group ومن Network ACL الخاص بالشبكة الفرعية.
- اسمح بحركة UDP الواردة من
<ERPC_SOURCE_IP>/32إلى منفذ الوجهة<DESTINATION_PORT>. أبقِ منفذ المصدر دون قيود، لأن ERPC يستخدم منافذ مصدر UDP ديناميكية. - إذا ظهرت الحزم في الالتقاط لكنها لا تصل إلى تطبيقك، فاربط المستقبِل بـ
0.0.0.0:<DESTINATION_PORT>بدلًا من localhost، ثم تحقق من جدار الحماية المحلي وإعدادات المقبس/العملية.
إذا لم تصل أي حزم بعد تحديث القواعد، فأرسل إلى فريق الدعم مدة الالتقاط وعدد الحزم وعنوان IP المصدر وعنوان IP الوجهة ومنفذ الوجهة.
مراجع المزوّدين: Hetzner Cloud Firewall، Hetzner Robot Firewall، AWS Security Groups، AWS Network ACLs وMicrosoft Pktmon.
الموارد
- توجد جميع الأكواد ووثائق README في مستودع Solana Stream SDK:
https://github.com/ValidatorsDAO/solana-stream






