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 中各查詢專用的強型別篩選器,確保篩選輸入符合查詢輸出型別。結果集很大時,請使用游標與上限等查詢參數,不要一次擷取所有資料列。