Skip to content

الأسئلة

يمكن لمشتركي الأحداث والمرشحات متابعة التغييرات في حالة بلوكتشين. استخدم استفسار عندما تحتاج إلى عرض مباشر للحالة الحالية.

الأسئلة هي أشياء صغيرة تشبه التعليمات. أرسل واحدة إلى زميل Iroha للحصول على تفاصيل عن وجهة نظره العالمية الحالية.

قد تكشف الشبكة معلومات أخرى. المعلومات القابلة للحصول على الدولة العالمية هي النوع الوحيد الذي يضمن توفيرها في كل شبكة Iroha.

لكل عملية تنفيذ Iroha، قد تكون هناك معلومات أخرى متاحة. على سبيل المثال، توافر بيانات التليميترية تعتمد على إدارة الشبكات. إنه قرارهم بالكامل ما إذا كانوا يرغبون في تخصيص طاقة المعالجة لتتبع العمل بدلاً من استخدامه للقيام بالعمل الفعلي. على النقيض، هناك وظائف تتطلبها دائمًا ، مثل الوصول إلى رصيد حسابك.

يمكن أن تكون نتائج الأسئلة المرتبة, الصفحات و المصفاة الجانب المتساوي جميعها في وقت واحد. يتم فرزها بشكل لغوي على مفاتيح البيانات الأساسية. يمكن القيام بالتحذير على مجموعة متنوعة من المبادئ، بدءاً من النطاقات الخاصة (الأفراد) IP أقنعة تصفية عنوان) إلى أساليب الأسلاك الفرعية مثل: begins_with يتم الجمع بينها باستخدام عمليات منطقية.

جربوا ذلك على Taira

Taira يعرض مساعدي الاستفسارات القراءة فقط على JSON للموارد المشتركة. استخدمهم لممارسة تصفية الصفحات ومعالجة الإجابة قبل تشغيل SDK:

bash
TAIRA_ROOT=https://taira.sora.org

curl -fsS "$TAIRA_ROOT/v1/accounts?limit=3" \
  | jq '{total, ids: [.items[].id]}'

curl -fsS "$TAIRA_ROOT/v1/domains?limit=3" \
  | jq '{total, domains: [.items[].id]}'

curl -fsS "$TAIRA_ROOT/v1/assets/definitions?limit=3" \
  | jq '{total, assets: [.items[] | {id, name, total_quantity}]}'

لتشخيص التطبيقات، أبقوا هذه فحصات الدخان منفصلة عن اختبارات المعاملات الموقعة. عادةً ما يشير فشل استفسار القراءة فقط إلى توافر نقطة النهاية أو إمكانية الوصول إلى الشبكة أو توافق المسار قبل أن يشير إلى تشكيل المؤشر.

إنشاء استفسار

استخدم صانعي الاستفسارات المطبوعة من SDK أو CLI. على سبيل المثال، يعرض نموذج البيانات الحالي FindAccounts للحسابات المدرجة:

rust
let query = FindAccounts;

هنا مثال على استفسار يجد أصول (أليس):

rust
let alice_id = load_canonical_account_id_from_client_config()?;
let query = FindAssetsByAccountId::new(alice_id);

الصفحات

بالنسبة للمسائل الفردية والمسائل المتكررة الصغيرة، يمكنك استخدام client.request لإرسال استفسار وتحصل على النتيجة في وقت واحد.

ومع ذلك، يمكن استفسارات متكررة واسعة مثل FindAccounts ، FindAssets ، أو FindBlocks إرجاع مجموعات النتائج الكبيرة. استخدم صفحة البحث لتقليل الحمل على الزميل والعميل.

لإنشاء Pagination ، تحتاج إلى الاتصال ب client.request_with_pagination(query, pagination)، حيث يتم إنشاء pagination على النحو التالي:

rust
let starting_result: u32 = _;
let limit: u32 = _;
let pagination = Pagination::new(Some(starting_result), Some(limit));

المرشحات

عندما تقوم بإنشاء استفسار، يمكنك استخدام مرشح لإرجاع النتائج التي تتطابق مع المرشح المحدد.

المرشحات محددة للطلب. على سبيل المثال، يمكن تقييد استفسارات الحساب عن طريق هوية الحساب أو البيانات الأساسية، بينما يمكن تقييم استفسارات الأصول عن طريق الأصول تعريف، حساب الاحتفاظ، أو توقيع النطاق. استخدم صانعي الاستفسارات المكتوبة في SDK حيثما أمكن بحيث يتناسب نوع المرشح مع نوع إصدار الاستفسار.

التصنيف

Iroha يمكن فرز البنود مع metadata لغويًا إذا قمت بتقديم مفتاح للتقسيم أثناء بناء الاستطلاع. حالة الاستخدام النموذجية هي للحسابات أن تكون مدخلة registered-on metadata ، والتي ، عند تصفيتها ، تسمح لك برؤية تاريخ تسجيل الحساب.

لا ينطبق التصنيف إلا على الكيانات التي تمتلك البيانات المعدنية ، حيث يتم استخدام مفتاح البيانات المتعددة لتصنيف نتائج الاستعلام.

يمكنك الجمع بين التصنيف مع تصنيف الصفحات والمرشحات. لاحظ أن التصنيف هو ميزة اختياريّة، فإنّ معظم الاستفسارات مع تصنيع الصفحة لن تحتاج إليه.

الإشارة

تحقق من قائمة الاستفسارات القائمة للحصول على معلومات مفصلة عن هذه الأسئلة.