Skip to content

查询

Iroha 查询可以读取账本状态而不对其进行更改。当前数据模型公开两种主要查询形式:

  • 单项查询:返回一个对象或一个值
  • 可迭代查询:返回数据流或集合;如果查询类型支持,还可以结合筛选、排序、投影和分页

请使用 SDK 的强类型构建器或 CLI,不要手动构造查询信封。以下名称是 iroha_data_model::query 当前公开的查询类型。

运行时与配置

查询用途
FindAbiVersion返回执行器 ABI 版本。
FindExecutorDataModel返回执行器的数据模型描述。
FindParameters返回链上执行器配置参数。

账户与权限

查询用途
FindAccountById按规范且不含域的账户 ID 查找一个账户。
FindAccountByAlias将账户别名解析为账户。
FindAccounts列出已注册账户。
FindAccountIds列出已注册账户 IDs。
FindAccountsWithAsset列出持有指定资产定义的账户。
FindAliasesByAccountId列出绑定到某账户的别名。
FindAccountRecoveryPolicyByAlias查找某个别名的恢复策略。
FindAccountRecoveryRequestByAlias查找某个别名的恢复请求。
FindRoles列出角色。
FindRoleIds列出角色 IDs。
FindRolesByAccountId列出授予某账户的角色。
FindPermissionsByAccountId列出授予某账户的权限。

域与对等节点

查询用途
FindDomainByIdDomainId 查找一个域。
FindDomains列出已注册域。
FindDomainsByAccountId列出某账户拥有的域。
FindDomainEndorsements列出域背书记录。
FindDomainEndorsementPolicy返回域背书策略。
FindDomainCommittee返回域委员会。
FindPeers列出账本已知的可信对等节点。

资产、NFTs 与 RWAs

查询用途
FindAssets列出资产余额。
FindAssetsDefinitions列出资产定义。
FindAssetsByAccountId列出某账户持有的资产。
FindAssetByIdAssetId 查找一个资产余额。
FindAssetDefinitionById按 ID 查找一个资产定义。
FindNfts列出 NFTs。
FindNftsByAccountId列出某账户拥有的 NFTs。
FindRwas列出已注册的现实世界资产批次。

托管与证明记录

托管查询用于检查原生资产托管 ISIs创建的记录,包括市场托管、通用资产锁定和匿名托管记录。

查询用途
FindAssetEscrows列出资产托管记录。
FindAssetEscrowById按 ID 查找一个资产托管记录。
FindAssetEscrowsBySeller按卖方列出资产托管记录。
FindAssetEscrowsByBuyer按买方列出资产托管记录。
FindAssetEscrowsByStatus按状态列出资产托管记录。
FindAnonymousAssetEscrows列出匿名资产托管记录。
FindAnonymousAssetEscrowById按 ID 查找一个匿名资产托管记录。
FindAnonymousAssetEscrowsBySeller按卖方列出匿名托管记录。
FindAnonymousAssetEscrowsByBuyer按买方列出匿名托管记录。
FindAnonymousAssetEscrowsByStatus按状态列出匿名托管记录。
FindProofRecordById按 ID 查找一个证明记录。
FindProofRecords列出证明记录。
FindProofRecordsByBackend列出某证明后端的证明记录。
FindProofRecordsByStatus按状态列出证明记录。

Nexus、数据可用性与包

查询用途
FindRepoAgreements列出存储在链上的仓库协议。
FindTwitterBindingByHash按哈希解析 Twitter 绑定。
FindDaPinIntentByTicket按票据查找数据可用性固定意图。
FindDaPinIntentByManifest按清单引用查找固定意图。
FindDaPinIntentByAlias按别名查找固定意图。
FindDaPinIntentByLaneEpochSequence按通道、纪元和序号查找固定意图。
FindLaneRelayEnvelopeByRef查找经过验证的通道中继信封。
FindSorafsProviderOwner解析 SoraFS 提供商的所有者。
FindDataspaceNameOwnerById解析数据空间名称的所有者。
FindMusubiReleaseByRef按引用查找 Musubi 发行版。
FindMusubiPackageVersions列出 Musubi 包的版本。
FindMusubiPackageReleases列出 Musubi 包的发行版。
FindMusubiShortAliasByName解析 Musubi 短别名。

触发器、合约、交易与区块

查询用途
FindActiveTriggerIds列出活动触发器 IDs。
FindTriggers列出触发器。
FindTriggerById按 ID 查找一个触发器。
FindContractManifestByCodeHash按代码哈希查找智能合约清单。
FindTransactions列出已完成共识提交的交易。
FindBlocks列出区块。
FindBlockHeaders列出区块头。

筛选与分页

可迭代查询可以提供谓词和选择器支持。请使用 SDK 中针对具体查询的强类型筛选器,确保筛选输入与查询输出类型匹配。对于大型结果集,请使用游标和限制等查询参数,而不要一次提取所有数据行。