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列出授予某账户的权限。

域与对等节点 ​

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

资产、NFTs 与 RWAs ​

查询用途
FindAssets列出资产余额。
FindAssetsDefinitions列出资产定义。
FindAssetsByAccountId列出某账户持有的资产。
FindAssetById按 AssetId 查找一个资产余额。
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 中针对具体查询的强类型筛选器,确保筛选输入与查询输出类型匹配。对于大型结果集,请使用游标和限制等查询参数,而不要一次提取所有数据行。