Solana Geyser gRPC - البدء السريع

تثبيت SLV

bash
curl -fsSL https://storage.slv.dev/slv/install | sh

$ slv b init

slv b init
بأمر واحد، slv b init، يمكنك إنشاء بيئة تطوير لبوتات Solana فورًا باستخدام بيانات تدفقية عالية الأداء.
bash
slv b init
  • استخدم geyser-ts إذا كنت تفضل بوت Geyser بلغة TypeScript
  • استخدم geyser-rust إذا كنت تفضل بوت Geyser بلغة Rust

السماح لمصادر مسبار زمن الاستجابة ICMP

لاختيار منطقة gRPC، يرسل ERPC مسبارات زمن استجابة ICMP إلى عنوان IP المسجل الخاص بك من مضيفي البروكسي المدرجين أدناه. اسمح بطلبات ICMP echo الواردة من كل عنوان IP مصدر مدرج. إذا كانت محظورة بجدار ناري (ufw أو جدار ناري سحابي أو security group وما إلى ذلك)، فقد يصبح القياس 9999ms وقد يتم اختيار منطقة غير مثالية. عناوين IP المتعددة في المنطقة الواحدة هي مضيفو مسبار منفصلون؛ وجميعها مطلوبة.
منطقة المسبارعناوين IP لمصدر ICMP
🇳🇱 Amsterdam84.32.103.245, 84.32.64.77
🇺🇸 New York64.130.37.222
🇩🇪 Frankfurt185.191.118.149, 185.191.118.177, 185.191.118.206
🇬🇧 London67.209.52.250
🇯🇵 Tokyo198.13.133.88
🇸🇬 Singapore202.8.11.52
🇦🇺 Sydney82.26.116.36
🛰️ Far Point63.254.162.14

نقاط نهاية Burst gRPC

Geyser gRPC Burst هي فئة gRPC مشتركة منخفضة زمن الاستجابة من ERPC لأحمال عمل بث Solana الحساسة لزمن الاستجابة. يستخدم Burst واجهة Yellowstone/Geyser gRPC نفسها المستخدمة في خدمة gRPC العادية، لذا يمكن لعملاء gRPC الحاليين الاستمرار في استخدام اشتراكات الحسابات والمعاملات والخانات والكتل القياسية.
يستخدم Burst مصادر مسبار ICMP الإقليمية نفسها المدرجة أعلاه لاختيار المنطقة بناءً على زمن الاستجابة. العناوين أدناه هي عناوين IP لنقاط نهاية عملاء Burst، وليست مصادر مسبار ICMP؛ اسمح بها فقط إذا كان جدارك الناري الصادر يقيّد الاتصالات بنقطة النهاية المحددة.
المنطقةنطاق Burstعنوان IP
🇩🇪 Frankfurtgrpc-fra1-burst.erpc.global64.130.41.234
🇳🇱 Amsterdamgrpc-ams1-burst.erpc.global64.130.55.180
🇺🇸 New Yorkgrpc-ny6-burst.erpc.global64.130.59.217
🇯🇵 Tokyogrpc-tokyo-burst.erpc.global208.91.107.247
🇸🇬 Singaporegrpc-singapore-burst.erpc.global67.209.55.15
استخدم نقطة النهاية الظاهرة في لوحة تحكم ERPC على الويب بعد تسجيل عنوان IP الخاص بك. يبقى Burst تدفق Geyser gRPC كاملًا؛ أما Direct Shreds/ShredStream فهو منتج منفصل قائم على UDP لبيانات shred الخام.

مثال عميل Geyser – TypeScript

  1. أعد تسمية .env.sample إلى .env
  2. حرّر .env بالقيم الفعلية الخاصة بك:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
يرجى الملاحظة:
نقطة النهاية هذه عينة ولا يمكن استخدامها كما هي. يرجى الحصول على نقطة النهاية المناسبة لبيئتك وإعدادها.
  1. ثبّت التبعيات وشغّل خادم التطوير:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

مثال عميل Geyser – Rust

  1. أعد تسمية .env.sample إلى .env
  2. حرّر .env بالقيم الفعلية الخاصة بك:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
يرجى الملاحظة:
نقطة النهاية هذه عينة ولا يمكن استخدامها كما هي. يرجى الحصول على نقطة النهاية المناسبة لبيئتك وإعدادها.
  1. ابنِ العميل وشغّله:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

✅ تجربة مجانية لمدة يوم واحد متاحة

يمكن اختبار كل من بوتات Geyser وShreds مجانًا لمدة يوم واحد عبر لوحة تحكم ERPC على الويب.
افتح اللوحة: https://dashboard.erpc.global/ar

Solana Stream SDK

Solana Stream SDK
محوّل Geyser المستخدم في الكود المبدئي الذي تم تنزيله عبر الأمر slv b init
مقدَّم من Solana Stream SDK مفتوح المصدر.
يدعم كلًا من Rust وTypeScript، مما يتيح تنفيذًا فعالًا لاتصالات بث Solana،
بما في ذلك اشتراكات Geyser ومعالجة المعاملات ومراقبة تحديثات الحسابات في الوقت الفعلي.
الكود المبدئي الذي تحصل عليه هو مثال مباشر على هذا SDK أثناء العمل،
مما يسهّل توسيعه لتطوير بوتك الخاص أو منطقك المخصص.
لمزيد من التفاصيل، تفضل بزيارة مستودع GitHub:
https://github.com/ValidatorsDAO/solana-stream