ERPC ने तेज़ UDP Shreds प्रोसेसिंग और gRPC कनेक्शन रिकवरी के साथ Solana Stream SDK v4.0.0 जारी किया

ERPC ने तेज़ UDP Shreds प्रोसेसिंग और gRPC कनेक्शन रिकवरी के साथ Solana Stream SDK v4.0.0 जारी किया

ERPC ने तेज़ UDP Shreds प्रोसेसिंग और gRPC कनेक्शन रिकवरी के साथ Solana Stream SDK v4.0.0 जारी किया
ELSOUL LABO B.V. और Validators DAO ने 6 नवंबर 2026 को Solana Stream SDK v4.0.0 आधिकारिक तौर पर जारी किया। यह Solana के स्ट्रीमिंग डेटा को संभालने के लिए एक ओपन सोर्स SDK है। स्थानीय बेंचमार्क में Rust की आंतरिक UDP Shreds प्रोसेसिंग लगभग 108 गुना तेज़ हुई और TypeScript के इवेंट क्यू का थ्रूपुट लगभग 4 गुना हुआ। Geyser gRPC भी कनेक्शन टूटने के बाद अपडेट प्राप्त करना पहले से जल्दी शुरू करता है। SDK का इस्तेमाल मुफ़्त है और डेवलपर Rust तथा TypeScript के उदाहरणों से शुरुआत कर सकते हैं।
किसी ऐप्लिकेशन में कम लेटेंसी वाली डेटा डिलीवरी का लाभ उठाना इस बात पर भी निर्भर करता है कि आने वाला डेटा कितनी जल्दी प्रोसेस होता है। वर्ज़न 4.0.0 डेटा पहुँचने के बाद की आंतरिक प्रोसेसिंग को अधिक कुशल बनाता है और कनेक्शन टूटने के बाद उसे बहाल करने में सुधार करता है। इसे ERPC Shreds UDP Forwarding Premium के साथ इस्तेमाल करके डेवलपर अपने Solana ऐप्लिकेशन में डिलीवरी पथ और डेटा प्राप्त करने वाले हिस्से, दोनों को बेहतर बना सकते हैं।

तीन टेस्ट में प्रोसेसिंग और रिकवरी के सुधार मापे गए

Solana Stream SDK v4.0.0 में Rust UDP की आंतरिक प्रोसेसिंग, TypeScript इवेंट क्यू और gRPC रिकवरी की तुलना
Rust UDP के रिसीव पथ में v4 डेटाग्राम की डिकोडिंग, उन्हें आंतरिक बफ़र में डालने और Shreds से डेटा को फिर से बनाने वाली deshred प्रक्रिया को तेज़ करता है। यह हर पैकेट के लिए दोहराए जाने वाले आंतरिक स्टेट की सफ़ाई और समय पढ़ने के कामों में बदलाव करके प्रोसेसिंग का अतिरिक्त भार कम करता है, जबकि डेटा को सहेजकर रखने की अवधि बरकरार रहती है। तुलना में प्रति डेटाग्राम आंतरिक प्रोसेसिंग का समय 94,236 ns से घटकर 855–881 ns हो गया, जो लगभग 108 गुना तेज़ प्रोसेसिंग दर्शाता है।
बेंचमार्क Apple M सीरीज़ के Mac पर चलाया गया और हर रन में 300 स्लॉट के 403,200 डेटाग्राम प्रोसेस किए गए। नतीजे पाँच रन के मीडियन की तुलना दिखाते हैं। मापन में आंतरिक decode→insert→deshred पथ शामिल है। इसमें नेटवर्क के ज़रिए डेटा पहुँचने का समय और उपयोगकर्ता के ऐप्लिकेशन में होने वाली बाद की प्रोसेसिंग शामिल नहीं है। आने वाले Shreds से डेटा फिर से बनाने का काम कम होने से डेवलपर ऐप्लिकेशन लॉजिक के लिए अधिक कंप्यूटिंग संसाधन उपलब्ध करा सकते हैं।
TypeScript के Geyser gRPC उदाहरण और स्टार्टर प्रोजेक्ट, क्यू में इवेंट मौजूद रहने तक इंतज़ार कम करते हैं, जिससे प्राप्त डेटा अधिक कुशलता से निकाला जा सकता है। Node.js 24 पर दो मिलियन इवेंट प्रोसेस करने वाले, केवल क्यू के टेस्ट में थ्रूपुट प्रति सेकंड 5.7–7.4 मिलियन इवेंट से बढ़कर 24.8–29.4 मिलियन इवेंट हो गया, यानी लगभग 4 गुना सुधार हुआ।
Geyser gRPC में दोबारा कनेक्ट होने की प्रक्रिया संभालने वाले क्लाइंट और शुरुआती पुनः प्रयास के अंतराल को अपडेट किया गया है। स्थानीय tonic सर्वर पर 20 बार कनेक्शन तोड़ने वाले टेस्ट में, हर बार कनेक्शन टूटने से पहले और बाद में प्राप्त अपडेट के बीच का मीडियन अंतराल 3.0 runner के साथ 552 ms से घटकर 4.0 runner के साथ 103 ms हो गया। यह स्थानीय टेस्ट वातावरण में अपडेट फिर से मिलने तक का अंतराल मापता है।
ये तीन नतीजे अलग-अलग दायरे और परिस्थितियों वाले टेस्ट से आए हैं। ये क्रमशः Rust की आंतरिक प्रोसेसिंग, TypeScript इवेंट क्यू और gRPC के दोबारा कनेक्ट होने में सुधार दिखाते हैं। कार्यान्वयन का विवरण और टेस्ट की शर्तें संबंधित लिंक खंड में दिए गए PR #129 में उपलब्ध हैं।

Alpenglow समर्थन बरकरार, क्लाइंट अपडेट किए गए

Alpenglow का समर्थन v3.0.0 में जोड़ा गया था। वर्ज़न 4.0.0 ब्लॉक के हेडर, फ़ुटर और पैरेंट अपडेट दर्शाने वाले ब्लॉक मार्कर तथा ट्रांज़ैक्शन वाले entries के बीच का अंतर बनाए रखता है। ऐप्लिकेशन ब्लॉक की संरचना से जुड़ी जानकारी को उन entries से अलग संभाल सकते हैं जिन्हें उन्हें प्रोसेस करना है।
वर्ज़न 4.0.0 में क्लाइंट Agave 4.4.1 और Yellowstone gRPC 17.x पर अपडेट किए गए हैं। दोबारा कनेक्ट होते समय Disconnected इवेंट आंशिक रूप से प्राप्त डेटा की पहचान करने वाली जानकारी के साथ यह भी बता सकता है कि किस स्थान से डेटा प्राप्त करना फिर शुरू करना है। इससे ऐप्लिकेशन को दोबारा भेजे गए डेटा की डुप्लिकेट प्रतियों और अधूरे प्राप्त डेटा को अपने तरीके से संभालने के लिए ज़रूरी जानकारी मिलती है।
v3 से v4 पर माइग्रेशन में Geyser protobuf की परिभाषाएँ बरकरार रहती हैं, जबकि दोबारा कनेक्ट होने के इवेंट और Rust में इस्तेमाल किए जाने वाले Solana message तथा transaction टाइप अपडेट होते हैं। प्रकाशित माइग्रेशन गाइड में इवेंट हैंडलर और डिपेंडेंसी वर्ज़न के बदलाव बताए गए हैं।

UDP के लिए Rust, gRPC के लिए Rust और TypeScript

प्रकाशित Rust पैकेज solana-stream-sdk और TypeScript पैकेज @validators-dao/solana-stream-sdk, दोनों v4.0.0 में उपलब्ध हैं। प्रत्येक कनेक्शन प्रकार के लिए समर्थित भाषाएँ नीचे दी गई हैं।
कनेक्शन प्रकारसमर्थित भाषाएँ
Shreds UDPRust
Geyser gRPCRust और TypeScript
Shreds gRPCRust और TypeScript
UDP के ज़रिए Shreds प्राप्त करने के लिए Rust क्लाइंट का इस्तेमाल करें। Rust UDP का उदाहरण और स्टार्टर प्रोजेक्ट प्रकाशित SDK v4.0.0 का इस्तेमाल करते हैं। इनसे डेटा प्राप्त करना, Shreds से डेटा फिर से बनाना और निगरानी किए जाने वाले प्रोग्राम के इंस्ट्रक्शन पहचानना आज़माया जा सकता है। निगरानी वाले प्रोग्राम और पहचान के बाद की प्रोसेसिंग को बदलकर इसे अपने ऐप्लिकेशन की शुरुआती नींव बनाया जा सकता है।
TypeScript में विकास के लिए आप Geyser gRPC या Shreds gRPC का इस्तेमाल कर सकते हैं। इस रिलीज़ के इवेंट क्यू सुधार Geyser gRPC के उदाहरणों और स्टार्टर प्रोजेक्ट में शामिल हैं। अपनी भाषा और डेटा डिलीवरी के तरीके के अनुरूप प्रकाशित कार्यान्वयन चुनें।

Shreds UDP Forwarding Premium का लाभ उठाना

ERPC Shreds UDP Forwarding Premium हर क्षेत्र के कई नोड को एक मेश नेटवर्क में जोड़ता है और उस मेश में सबसे पहले पहुँचने वाली प्रत्येक Shred की प्रति आगे भेजता है। प्राप्त डेटा कितनी जल्दी इस्तेमाल के लिए तैयार होता है, इस पर डिलीवरी पथ से पहुँचने का समय और पहुँचने के बाद SDK में डेटा फिर से बनाने का समय, दोनों असर डालते हैं। Rust UDP रिसेप्शन के सुधारों का उपयोग प्राप्तकर्ता की ओर Premium से आए डेटा को प्रोसेस करने में किया जा सकता है।
30 अक्टूबर 2026 को फ़्रैंकफ़र्ट में की गई तुलना में Standard और Premium को एक ही मशीन और एक ही घड़ी का इस्तेमाल करके 120 सेकंड तक एक साथ कैप्चर किया गया। pcap में एक जैसी सामग्री वाले UDP पेलोड का मिलान किया गया। इस मिलान वाले समूह के 98% मामलों में Premium पहले पहुँचा और पहुँचने के समय के अंतर का मीडियन 1.78 ms था। Standard पर देखे गए पेलोड में से 93.9% Premium पर भी देखे गए।
फ़्रैंकफ़र्ट में समान परिस्थितियों के तहत Shreds UDP Forwarding Premium और Standard के पहले पहुँचने की तुलना
Premium का चित्र डिलीवरी पथों के बीच पहुँचने के समय का अंतर दिखाता है, जबकि SDK का चित्र प्राप्तकर्ता की आंतरिक प्रोसेसिंग और कनेक्शन रिकवरी दिखाता है। वास्तविक ऐप्लिकेशन में पैकेट के पहुँचने और संबंधित इंस्ट्रक्शन की पहचान होने, दोनों समय दर्ज करके जाँचा जा सकता है कि डिलीवरी की बढ़त प्रोसेसिंग के नतीजे तक कितनी बनी रहती है।

घंटे के हिसाब से उपयोग और उदाहरणों के साथ अपने वातावरण में तुलना करें

Shreds UDP Forwarding Premium €1.39 प्रति घंटे की दर से घंटे के हिसाब से बिलिंग पर उपलब्ध है। डैशबोर्ड से सेवा शुरू करें और Rust UDP स्टार्टर से डेटा की प्राप्ति जाँचें। एक ही क्षेत्र, प्राप्तकर्ता सर्वर और ऐप्लिकेशन वर्कलोड का इस्तेमाल करके तुलना करने पर, पहुँचने के समय के अंतर और प्राप्ति के बाद की प्रोसेसिंग के समय को अलग-अलग परखा जा सकता है।
सबसे पहले डैशबोर्ड में अपना सार्वजनिक IPv4 पता और UDP पोर्ट रजिस्टर करें तथा सूचीबद्ध स्रोतों से आने वाले ट्रैफ़िक की अनुमति दें। Rust UDP स्टार्टर से पैकेट प्राप्त होने और डेटा फिर से बनने की जाँच के बाद, जिन प्रोग्राम की आप निगरानी करना चाहते हैं और अपने ऐप्लिकेशन की वास्तविक प्रोसेसिंग को मूल्यांकन में शामिल करें। उदाहरणों और डिलीवरी सेवा को साथ इस्तेमाल करके अपने वातावरण में प्राप्ति से पहचान तक का समय मापें।

संबंधित लिंक