تحذير الفرع main
هو الآن تتبع V2 . هذا الإصدار الجديد عبارة عن إصلاح شامل لخط أنابيب المعالجة ، وتغييرات متعددة. إذا كنت تبحث عن V1 ، فيمكنك التبديل إلى فرع الدعم طويل الأجل المسمى lts/v1
لدينا أدوات "استكشاف" Cardano blockchain ، والتي تكون مفيدة عندما تعرف ما تبحث عنه. نؤكد أن هناك حالة استخدام مختلفة وتكميلية تتمثل في "مراقبة" blockchain والرد على أنماط الأحداث المعينة.
oura هو تنفيذ أصلي لصدأ لخط أنابيب يتصل بطرف عقدة Cardano من خلال مجموعة من بروتوكول Ouroboros Mini-Protocol (باستخدام مقبس UNIX أو حامل TCP) ، يقوم بتصفية الأحداث التي تتطابق مع نمط معين ثم يقدم النافعة المستقيمة والمكتابة بذاتها للمراقبين القابلة للتجميع تسمى "الأحواض".
تحقق من وثائقنا للحصول على معلومات مفصلة حول كيفية البدء في العمل مع Oura .
يستوحى اسم الأداة من أمر tail
المتوفر في أنظمة تشبه Unix والتي يتم استخدامها لعرض الطرف الخلفي لملف نصي أو بيانات مواسير. اسم بروتوكول Cardano الإجماعي ، Ouroboros ، هو إشارة إلى الرمز القديم الذي يصور ثعبان أو تنين يأكل ذيله الخاص ، وهو ما يعني "الأكل الذيل". "oraa" هي الكلمة اليونانية القديمة لـ "الذيل".
في هذا التسجيل الطرفي ، نرى بضع دقائق من الإخراج المباشر من عقدة testnet متصلة بالوعة الطرفية.
مشاهدة كاملة ASCIICAST
يتم إجراء جميع الرفع الثقيل المطلوب للتواصل مع عقدة Cardano بواسطة مكتبة Pallas ، والتي توفر تنفيذًا لمضاعفة Ouroboros وبعض من آلات الولاية المصغرة المطلوبة (ChainSync و LocalState على وجه الخصوص).
يتم تنفيذ خط أنابيب البيانات بواسطة مكتبة Gasket التي توفر إطار عمل لبناء تطبيقات تعتمد على الأحداث. بموجب هذا التجريد ، يعمل كل مكون من خط الأنابيب (AKA: Stage ) في موضوعه الخاص ويتواصل مع مراحل أخرى عن طريق إرسال رسائل (تشبه إلى حد كبير نمط الممثل ).
يمكنك تشغيل oura watch <socket>
لطباعة بيانات TX في المحطة من طرف العقدة المحلية أو عن بعد. يمكن أن يكون مفيدًا كأداة تصحيح الأخطاء للمطورين أو إذا كنت مهتمًا فقط برؤية ما يجري في الشبكة (على سبيل المثال ، لرؤية Airdrops عند حدوثها أو تنشر Oracles معلومات جديدة).
على غرار أداة DB-Sync المعروفة التي توفرها IOHK ، يمكن استخدام Oura كخفي لاتباع عقدة وإخراج البيانات في تقنية تخزين بيانات مختلفة أكثر ملاءمة لحالة الاستخدام النهائي. الفرق الرئيسي مع DB-Sync هو أن ORAA تم تصميمه لسهولة التكامل مع خطوط أنابيب بث البيانات بدلاً من قواعد البيانات العلائقية.
بالنظر إلى انبعاثات الذاكرة / وحدة المعالجة المركزية الصغيرة ، يمكن نشر Oura جنبًا إلى جنب مع عقدة Cardano الخاصة بك حتى في البيئات المقيدة بالموارد ، مثل Raspberry PIs.
يمكن تكوين تشغيل ORAA في وضع daemon
لاستخدام مرشحات مخصصة لتحديد أنماط معاملات معينة وإجراءات تشغيل كلما وجد تطابق. على سبيل المثال: أرسل بريدًا إلكترونيًا عندما يظهر مجموعة معينة من السياسة / الأصول في معاملة ؛ استدعاء وظيفة AWS Lambda عندما مندوب محفظة إلى تجمع معين ؛ إرسال HTTP-CALL إلى webhook في كل مرة يظهر مفتاح بيانات التعريف في حمولة TX ؛
إذا كانت الميزات المتوفرة خارج الصندوق لا تفي بحالة الاستخدام الخاصة بك ، فيمكن استخدام Oura مكتبة في مشروع Rust الخاص بك لإعداد خطوط الأنابيب المصممة خصيصًا. يهدف كل مكون (المصادر ، المرشحات ، المصارف ، إلخ) في Oura إلى أن تكون قائمة بذاتها وقابلة لإعادة الاستخدام. على سبيل المثال ، يمكن بناء المرشحات والمصارف المخصصة أثناء إعادة استخدام المصادر الموجودة.
Oura في جوهرها مجرد خط أنابيب لمعالجة الأحداث. تقوم كل مرحلة من مراحل خط الأنابيب بدور مختلف:
مراحل المصدر: هي المسؤولة عن سحب البيانات من blockchain ورسم الخرائط الكتل الخام إلى أحداث أصغر وأكثر حبيبات. ثم يتم إرسال كل حدث من خلال منفذ الإخراج للمرحلة لمزيد من المعالجة.
مراحل التصفية: استلم الأحداث الفردية من مرحلة المصدر وتطبيق نوع من التحول على كل واحدة. تعتمد التحولات المطبقة على حالة الاستخدام المعينة ، لكنها عادة ما تدور حول اختيار الأحداث ذات الصلة وإثراءها بمعلومات إضافية.
مراحل بالوعة: استلم الأحداث النهائية من مرحلة التصفية وتقديم الحمولة النافعة إلى بعض النظام الخارجي أو قاعدة البيانات أو الخدمة لمزيد من المعالجة.
أنواع البيانات
كتل CBOR
CBOR TXS
نموذج Oura V1 (لتوافق متخلف)
TXs محلية (كائنات منظمة مع جميع بيانات TX)
عام JSON (أي نوع من قيم JSON)
مصادر
سلسلة متزامنة من العقدة المحلية
سلسلة المزامنة + كتلة من عقدة الترحيل عن بعد
دلو S3 مع بيانات الكتلة
موضوع كافكا مع بيانات كتلة
المصارف
موضوع كافكا
فهرس Elasticsearch / دفق البيانات
ملفات السجل الدوارة مع الضغط
تيارات redis
AWS SQS قائمة الانتظار
مكالمة AWS Lambda
كائنات AWS S3
GCP PubSub
وظيفة السحابة GCP
Azure يغرق
Webhook (HTTP Post)
المحطة (إلحاق فقط ، تشبه الذيل)
المرشحات
Parse Block / TX CBOR
تقسيم الكتلة إلى TXS
حدد TXS عن طريق مطابقة القواعد (العنوان ، البيانات الوصفية ، السياسات ، إلخ)
إثراء البيانات مع المدخلات ذات الصلة
رمز TypeScript المخصص (يستخدم Deno)
مخصص WASM المكون الإضافي
عازلة التراجع مع الإجراءات التعويضية
آخر
مؤشر سلسلة الدولة للتعافي من إعادة التشغيل
مرحلة عازلة لعقد الكتل حتى تصل إلى عمق معين
مقاييس خطوط الأنابيب لتتبع التقدم والأداء
يقرأ Oura الأحداث من الكتل / المعاملات. لم يتم تنفيذ دعم الاستعلام عن Mempool بعد.
جميع المساهمات موضع ترحيب ، ولكن يرجى قراءة الدليل المساهم للمشروع قبل البدء في التعليمات البرمجية.
تم ترخيص هذا المشروع بموجب ترخيص Apache-2.0. يرجى الاطلاع على ملف الترخيص لمزيد من التفاصيل.