سوالات
ایونٹ کے صارفین اور فلٹرز بلاکچین کی حالت میں ہونے والی تبدیلیوں کو ٹریک کرسکتے ہیں۔ جب آپ کو موجودہ حالت کا براہ راست نظارہ درکار ہو تو استفسار استعمال کریں۔
سوالات چھوٹے ہدایات کی طرح اشیاء ہیں. Iroha ہم مرتبہ کو اس کے موجودہ دنیا کی صورت حال کے نقطہ نظر سے تفصیلات حاصل کرنے کے لئے ایک بھیجیں.
ایک نیٹ ورک دوسری معلومات کو بے نقاب کر سکتا ہے۔ مطلوبہ عالمی ریاست کی معلومات ہر Iroha نیٹ ورک پر دستیاب ہونے کی ضمانت دی جانے والی واحد قسم ہے.
Iroha کے ہر تعیناتی کے لئے، دیگر دستیاب معلومات ہوسکتی ہیں. مثال کے طور پر، ٹیلی میٹری ڈیٹا کی دستیابی نیٹ ورک ایڈمنسٹریٹرز پر منحصر ہے. یہ مکمل طور پر ان کا فیصلہ ہے کہ آیا وہ اصل کام کرنے کے لئے استعمال کرنے کی بجائے کام کو ٹریک کرنے کے لئے پروسیسنگ طاقت مختص کرنا چاہتے ہیں یا نہیں۔ اس کے برعکس ، کچھ افعال ہمیشہ ضروری ہوتے ہیں ، جیسے اکاؤنٹ بیلنس تک رسائی حاصل کرنا۔
سوالات کے نتائج یہ ہو سکتے ہیں: درجہ بندی, صفحہ بندی اور فلٹرڈ ایک ہی وقت میں ہم مرتبہ کی طرف سے. ترتیب میٹا ڈیٹا چابیاں پر lexicographically کیا جاتا ہے. فلٹرنگ مختلف اصولوں پر کیا جا سکتا ہے، ڈومین مخصوص (انفرادی IP ایڈریس فلٹر ماسک) substring کے طریقوں جیسے begins_with منطقی کارروائیوں کا استعمال کرتے ہوئے مشترکہ.
Taira پر آزمائیں
Taira مشترکہ وسائل کے لئے JSON پر صرف پڑھنے والے استفسار ہیلپرز کو بے نقاب کرتا ہے۔ ان کا استعمال ایک SDK کیبلنگ سے پہلے صفحہ بندی اور ردعمل سنبھالنے کی مشق کرنے کے لئے کریں۔:
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 کو بے نقاب کرتا ہے۔
let query = FindAccounts;یہاں ایک سوال کی مثال ہے جو ایلس کے اثاثوں کو تلاش کرتی ہے:
let alice_id = load_canonical_account_id_from_client_config()?;
let query = FindAssetsByAccountId::new(alice_id);صفحہ بندی
سنگل سوالات اور چھوٹے iterable سوالات کے لئے، آپ client.request کا استعمال کرتے ہوئے ایک سوال جمع کرانے اور ایک ہی بار میں نتیجہ حاصل کر سکتے ہیں.
تاہم ، FindAccounts ، FindAssets ، یا FindBlocks جیسے وسیع تکرار پذیر سوالات بڑے نتائج کے سیٹ واپس کرسکتے ہیں۔ ہم مرتبہ اور کلائنٹ پر بوجھ کو کم کرنے کے لئے صفحہ بندی کا استعمال کریں۔
Pagination کی تعمیر کے لئے، آپ کو client.request_with_pagination(query, pagination) پر کال کرنے کی ضرورت ہے، جہاں pagination مندرجہ ذیل طور پر بنایا گیا ہے:
let starting_result: u32 = _;
let limit: u32 = _;
let pagination = Pagination::new(Some(starting_result), Some(limit));فلٹرز
جب آپ ایک استفسار بناتے ہیں تو، آپ صرف ان نتائج کو واپس کرنے کے لئے فلٹر کا استعمال کرسکتے ہیں جو مخصوص فلٹر سے ملتے ہیں.
فلٹرز استفسار مخصوص ہیں۔ مثال کے طور پر ، اکاؤنٹ کی استفسارات کو اکاؤنٹ کی شناخت یا میٹا ڈیٹا سے تنگ کیا جاسکتا ہے ، جبکہ اثاثہ کے سوالات کو اثاثہ سے تنگ کیا جا سکتا ہے۔ تعریف ، ہولڈر اکاؤنٹ ، یا ڈومین پروجیکشن۔ جہاں ممکن ہو SDK کے ٹائپڈ استفسار بلڈرز کا استعمال کریں تاکہ فلٹر کی قسم استفسار آؤٹ پٹ کی قسم سے مماثل ہو۔
درجہ بندی
Iroha اگر آپ استفسار کی تعمیر کے دوران ترتیب دینے کے لئے ایک کلید فراہم کرتے ہیں تو میٹا ڈیٹا کے ساتھ لکیریوگرافک طور پر اشیاء کو ترتیب دے سکتا ہے۔ ایک عام استعمال کا معاملہ اکاؤنٹس کے لئے registered-on میٹا ڈیٹا اندراج ہونا ہے ، جو ، جب ترتیب دیا جاتا ہے تو ، آپ کو اکاؤنٹ رجسٹریشن کی تاریخ دیکھنے کی اجازت دیتا ہے۔
صف بندی صرف ان اداروں پر لاگو ہوتی ہے جن کے پاس میٹا ڈیٹا ہوتا ہے، کیونکہ میٹا ڈیٹا کلید کو استفسار کے نتائج کی قسم دینے کے لئے استعمال کیا جاتا ہے۔
آپ صفحہ بندی اور فلٹرز کے ساتھ ترتیب کو جوڑ سکتے ہیں۔ نوٹ کریں کہ ترتیب ایک اختیاری خصوصیت ہے ، صفحہ بندی والے زیادہ تر سوالات کی ضرورت نہیں ہوگی۔
حوالہ جات
ان کے بارے میں تفصیلی معلومات کے لئے موجودہ سوالات کی فہرست چیک کریں۔