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