Вопросы
Подписчики событий и фильтры могут следить за изменениями в состоянии блокчейна. Используйте запрос, когда вам нужен прямой просмотр текущего состояния.
Вопросы - это небольшие инструкционные объекты. Iroha По его мнению, в современном мире существуют много проблем.
Сеть может раскрывать другую информацию. Востребованная информация о мировых государствах является единственным видом, гарантированной доступностью в каждой сети Iroha.
Для каждого развертывания Iroha может быть доступна другая информация, например, наличие телеметрических данных зависит от администраторов сети. Это полностью их решение, хотят ли они выделить мощность обработки для отслеживания работы вместо использования ее для выполнения фактической работы. Напротив, некоторые функции всегда требуются, например, доступ к балансу счета.
Результаты запросов могут быть одновременно сортированы , paginated и filtered peer-side. Фильтрация может осуществляться по различным принципам, начиная от специфических для домена (индивидуальные IP адресные фильтровые маски) и заканчивая методами подстроков, такими как begins_with, в сочетании с использованием логических операций.
Попробуй на Taira
Taira раскрывает помощники запросов для чтения только на JSON для общих ресурсов. Используйте их для практики pagination и обработки ответов перед прокладкой 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 ввод метаданных, который при сортировке позволяет просматривать историю регистрации учетной записи.
Сортировка применяется только к субъектам, имеющим метаданные, поскольку ключ метаданных используется для сортировки результатов запроса .
Вы можете сочетать сортировку с pagination и фильтры. Обратите внимание, что сортировка является необязательной функцией, большинство запросов с pagination не будут нуждаться в этом.
Ссылка
Проверьте список существующих запросов для получения подробной информации об этом.