Skip to content

Вопросы

Подписчики событий и фильтры могут следить за изменениями в состоянии блокчейна. Используйте запрос, когда вам нужен прямой просмотр текущего состояния.

Вопросы - это небольшие инструкционные объекты. Iroha По его мнению, в современном мире существуют много проблем.

Сеть может раскрывать другую информацию. Востребованная информация о мировых государствах является единственным видом, гарантированной доступностью в каждой сети Iroha.

Для каждого развертывания Iroha может быть доступна другая информация, например, наличие телеметрических данных зависит от администраторов сети. Это полностью их решение, хотят ли они выделить мощность обработки для отслеживания работы вместо использования ее для выполнения фактической работы. Напротив, некоторые функции всегда требуются, например, доступ к балансу счета.

Результаты запросов могут быть одновременно сортированы , paginated и filtered peer-side. Фильтрация может осуществляться по различным принципам, начиная от специфических для домена (индивидуальные IP адресные фильтровые маски) и заканчивая методами подстроков, такими как begins_with, в сочетании с использованием логических операций.

Попробуй на Taira

Taira раскрывает помощники запросов для чтения только на JSON для общих ресурсов. Используйте их для практики pagination и обработки ответов перед прокладкой 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 может сортировать элементы с метаданные лексикографически, если вы предоставили ключ для сортировки во время создания запроса. Типичный случай использования - для учетных записей, чтобы иметь registered-on ввод метаданных, который при сортировке позволяет просматривать историю регистрации учетной записи.

Сортировка применяется только к субъектам, имеющим метаданные, поскольку ключ метаданных используется для сортировки результатов запроса .

Вы можете сочетать сортировку с pagination и фильтры. Обратите внимание, что сортировка является необязательной функцией, большинство запросов с pagination не будут нуждаться в этом.

Ссылка

Проверьте список существующих запросов для получения подробной информации об этом.