Сұрақтар
Іс-шараларға жазылушылар мен сүзгілер блокчейн жағдайындағы өзгерістерді бақылай алады. Назардағы жағдайды тікелей қарау қажет болған кезде сұрау салуды қолданыңыз.
Сұрау салулар кішкентай нұсқаулық тәрізді объектілер. Iroha Қазіргі әлемдегі жағдайға қатысты нақты мәліметтерді алу үшін.
Желі басқа да ақпаратты жария етуі мүмкін. Сұраныслы әлемдік мемлекет туралы ақпарат әрбір Iroha желіде қол жетімді болғанына кепілдік берілген жалғыз түрі болып табылады.
Iroha орналасуы үшін басқа да ақпараттар болуы мүмкін. Мысалы, телеметриялық деректердің қол жетімділігі желі әкімшілеріне байланысты. Бұл толықтай олардың шешімі, олар жұмыс істеу үшін оны пайдаланудың орнына жұмысты бақылау үшін өңдеу қуатын бөлуді қалайды ма немесе жоқ па. Керісінше, кейбір функциялар әрдайым қажет, мысалы, сіздің шоттың балансына қол жеткізу.
Сұрау салулардың нәтижелері бір мезгілде , paginated және peer-side-filtered болып сұрыпталады. Фильтрлеу әртүрлі принциптерге негізделіп жүргізілуі мүмкін, ол доменге тән (жеке IP адрестік сүзгі маскалары) және логикалық операциялар арқылы біріктірілген 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);Беттесу
Жалғызбасты сұраулар мен шағын қайталанатын сұраулар үшін 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 метамәдени деректерді енгізу, ол сұрыпталған кезде тіркелгі тіркеу тарихын көрсетуге мүмкіндік береді.
Тарыптау тек метадеректері бар субъектілерге қолданылады, өйткені метадеректер кілті сұраныс нәтижелерін сұрыптау үшін пайдаланылады.
Сіз сұрыптауды парақтандыру және сүзгілермен біріктіре аласыз. Сорттаудың ерікті функциясы екенін ескеріңіз, парақтандырумен байланысты сұранымдардың көпшілігі оған мұқтаж емес.
Анықтама
Олар туралы егжей-тегжейлі ақпарат үшін қолданыстағы сұрау салулар тізімін тексеріңіз.