# 查詢與變動方法

OCAP 客戶端透過 GraphQL 與區塊鏈互動。方法分為兩大類：

* **查詢 (Queries)**：這些是唯讀操作，用於從區塊鏈擷取資料，例如檢索帳戶狀態、列出交易或取得一般鏈資訊。它們不會改變鏈的狀態。
* **變動 (Mutations)**：這些是會修改區塊鏈狀態的寫入操作。傳送交易是變動的主要範例。

本節提供客戶端所有可用的查詢與變動方法的完整參考。


## 查詢方法

查詢用於從區塊鏈中檢索資料。以下是所有可用查詢方法的完整列表。

### `getAccountState`

檢索特定帳戶的目前狀態，包括其餘額、nonce 及其他詳細資訊。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的帳戶地址。"></x-field>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="查詢特定區塊高度的狀態。"></x-field>
  <x-field data-name="keys" data-type="string[]" data-required="false" data-desc="要檢索的特定欄位。"></x-field>
  <x-field data-name="traceMigration" data-type="boolean" data-required="false" data-desc="若為 true，則追蹤帳戶的遷移歷史。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetAccountState" data-type="object" data-desc="一個包含回應碼和帳戶狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼（例如 'OK'）。"></x-field>
  <x-field data-name="state" data-type="AccountState" data-desc="帳戶的詳細狀態。"></x-field>
</x-field>

### `getAssetState`

檢索特定資產（NFT）的目前狀態。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的資產地址。"></x-field>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="查詢特定區塊高度的狀態。"></x-field>
  <x-field data-name="keys" data-type="string[]" data-required="false" data-desc="要檢索的特定欄位。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetAssetState" data-type="object" data-desc="一個包含回應碼和資產狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="AssetState" data-desc="資產的詳細狀態。"></x-field>
</x-field>

### `getFactoryState`

擷取特定資產工廠的狀態。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的工廠地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetFactoryState" data-type="object" data-desc="一個包含回應碼和工廠狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="AssetFactoryState" data-desc="資產工廠的詳細狀態。"></x-field>
</x-field>

### `getDelegateState`

檢索委託關係的狀態。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的委託地址。"></x-field>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="查詢特定區塊高度的狀態。"></x-field>
  <x-field data-name="keys" data-type="string[]" data-required="false" data-desc="要檢索的特定欄位。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetDelegateState" data-type="object" data-desc="一個包含回應碼和委託狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="DelegateState" data-desc="委託的詳細狀態。"></x-field>
</x-field>

### `getTokenState`

擷取特定同質化代幣的狀態。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的代幣地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetTokenState" data-type="object" data-desc="一個包含回應碼和代幣狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="TokenState" data-desc="代幣的詳細狀態。"></x-field>
</x-field>

### `getEvidenceState`

根據其雜湊值檢索證據記錄。

**參數**

<x-field-group>
  <x-field data-name="hash" data-type="string" data-required="true" data-desc="要檢索的證據的雜湊值。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetEvidenceState" data-type="object" data-desc="一個包含回應碼和證據狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="EvidenceState" data-desc="證據的詳細狀態。"></x-field>
</x-field>

### `getForgeState`

擷取 OCAP 區塊鏈的整體設定與狀態。

**參數**

<x-field-group>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="查詢特定區塊高度的狀態。"></x-field>
  <x-field data-name="keys" data-type="string[]" data-required="false" data-desc="要檢索的特定欄位。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetForgeState" data-type="object" data-desc="一個包含回應碼和鏈狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="ForgeState" data-desc="OCAP 鏈的詳細狀態。"></x-field>
</x-field>

### `getTokenFactoryState`

檢索特定代幣工廠的狀態。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的代幣工廠地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetTokenFactoryState" data-type="object" data-desc="一個包含回應碼和代幣工廠狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="TokenFactoryState" data-desc="代幣工廠的詳細狀態。"></x-field>
</x-field>

### `getTx`

根據其雜湊值擷取單一交易。

**參數**

<x-field-group>
  <x-field data-name="hash" data-type="string" data-required="true" data-desc="要檢索的交易的雜湊值。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetTx" data-type="object" data-desc="一個包含回應碼和交易詳細資訊的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="info" data-type="TransactionInfo" data-desc="交易的詳細資訊。"></x-field>
</x-field>

### `getBlock`

根據其高度檢索單一區塊。

**參數**

<x-field-group>
  <x-field data-name="height" data-type="string" data-required="true" data-desc="要檢索的區塊的高度。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetBlock" data-type="object" data-desc="一個包含回應碼和區塊詳細資訊的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="block" data-type="BlockInfo" data-desc="區塊的詳細資訊。"></x-field>
</x-field>

### `getBlocks`

檢索區塊列表，可選用篩選條件。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="heightFilter" data-type="RangeFilterInput" data-required="false" data-desc="按高度範圍篩選區塊。"></x-field>
  <x-field data-name="emptyExcluded" data-type="boolean" data-required="false" data-desc="若為 true，則排除不含交易的區塊。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetBlocks" data-type="object" data-desc="一個包含分頁資訊和區塊列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="blocks" data-type="BlockInfoSimple[]" data-desc="一個簡化區塊物件的陣列。"></x-field>
</x-field>

### `getUnconfirmedTxs`

擷取在記憶體池中但尚未確認的交易。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetUnconfirmedTxs" data-type="object" data-desc="一個包含分頁資訊和未確認交易列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="unconfirmedTxs" data-type="UnconfirmedTxs" data-desc="未確認交易的詳細資訊。"></x-field>
</x-field>

### `getChainInfo`

檢索關於區塊鏈的一般資訊。

**參數**

此方法不接受任何參數。

**傳回值**

<x-field data-name="ResponseGetChainInfo" data-type="object" data-desc="一個包含回應碼和鏈資訊的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="info" data-type="ChainInfo" data-desc="鏈的詳細資訊。"></x-field>
</x-field>

### `getConfig`

擷取節點的設定。

**參數**

<x-field-group>
  <x-field data-name="parsed" data-type="boolean" data-required="false" data-desc="若為 true，則傳回已解析的設定。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetConfig" data-type="object" data-desc="一個包含回應碼和設定的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="config" data-type="string" data-desc="節點的設定，以字串形式表示。"></x-field>
</x-field>

### `getNetInfo`

檢索網路資訊，包括已連線的對等節點。

**參數**

此方法不接受任何參數。

**傳回值**

<x-field data-name="ResponseGetNetInfo" data-type="object" data-desc="一個包含回應碼和網路資訊的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="netInfo" data-type="NetInfo" data-desc="詳細的網路資訊。"></x-field>
</x-field>

### `getNodeInfo`

檢索關於被查詢的特定節點的資訊。

**參數**

此方法不接受任何參數。

**傳回值**

<x-field data-name="ResponseGetNodeInfo" data-type="object" data-desc="一個包含回應碼和節點資訊的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="info" data-type="NodeInfo" data-desc="關於節點的詳細資訊。"></x-field>
</x-field>

### `getValidatorsInfo`

擷取關於目前驗證者集合的資訊。

**參數**

此方法不接受任何參數。

**傳回值**

<x-field data-name="ResponseGetValidatorsInfo" data-type="object" data-desc="一個包含回應碼和驗證者資訊的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="validatorsInfo" data-type="ValidatorsInfo" data-desc="關於驗證者的詳細資訊。"></x-field>
</x-field>

### `getForgeStats`

檢索關於區塊鏈活動的各種統計數據。

**參數**

此方法不接受任何參數。

**傳回值**

<x-field data-name="ResponseGetForgeStats" data-type="object" data-desc="一個包含回應碼和鏈統計數據的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="forgeStats" data-type="ForgeStats" data-desc="關於 OCAP 鏈的各種統計數據。"></x-field>
</x-field>

### `listAssetTransactions`

列出與特定資產相關的所有交易。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="資產的地址。"></x-field>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListAssetTransactions" data-type="object" data-desc="一個包含分頁資訊和交易列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="transactions" data-type="IndexedTransaction[]" data-desc="一個交易物件的陣列。"></x-field>
</x-field>

### `listAssets`

列出所有資產，可依擁有者或工廠進行篩選。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="ownerAddress" data-type="string" data-required="false" data-desc="按擁有者地址篩選資產。"></x-field>
  <x-field data-name="factoryAddress" data-type="string" data-required="false" data-desc="按工廠地址篩選資產。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選資產。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListAssets" data-type="object" data-desc="一個包含分頁資訊和資產列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="assets" data-type="IndexedAssetState[]" data-desc="一個資產狀態物件的陣列。"></x-field>
</x-field>

### `listBlocks`

列出區塊，提供多種篩選選項。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="proposer" data-type="string" data-required="false" data-desc="按提案者地址篩選區塊。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選區塊。"></x-field>
  <x-field data-name="heightFilter" data-type="RangeFilterInput" data-required="false" data-desc="按高度範圍篩選區塊。"></x-field>
  <x-field data-name="numTxsFilter" data-type="RangeFilterInput" data-required="false" data-desc="按交易數量篩選區塊。"></x-field>
  <x-field data-name="numInvalidTxsFilter" data-type="RangeFilterInput" data-required="false" data-desc="按無效交易數量篩選區塊。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListBlocks" data-type="object" data-desc="一個包含分頁資訊和區塊列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="blocks" data-type="IndexedBlock[]" data-desc="一個區塊物件的陣列。"></x-field>
</x-field>

### `listTopAccounts`

列出特定代幣餘額最高的帳戶。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="tokenAddress" data-type="string" data-required="false" data-desc="代幣的地址。若未提供，則預設為原生代幣。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選帳戶。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListTopAccounts" data-type="object" data-desc="一個包含分頁資訊和頂級帳戶列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="accounts" data-type="IndexedAccountState[]" data-desc="一個帳戶狀態物件的陣列。"></x-field>
</x-field>

### `listTransactions`

一個功能強大的方法，能以多種篩選條件列出交易。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選交易。"></x-field>
  <x-field data-name="addressFilter" data-type="AddressFilterInput" data-required="false" data-desc="按傳送者或接收者地址篩選交易。"></x-field>
  <x-field data-name="typeFilter" data-type="TypeFilterInput" data-required="false" data-desc="按交易類型篩選。"></x-field>
  <x-field data-name="validityFilter" data-type="ValidityFilterInput" data-required="false" data-desc="按交易有效性篩選。"></x-field>
  <x-field data-name="factoryFilter" data-type="FactoryFilterInput" data-required="false" data-desc="按工廠地址篩選。"></x-field>
  <x-field data-name="tokenFilter" data-type="TokenFilterInput" data-required="false" data-desc="按代幣地址篩選。"></x-field>
  <x-field data-name="assetFilter" data-type="AssetFilterInput" data-required="false" data-desc="按資產地址篩選。"></x-field>
  <x-field data-name="accountFilter" data-type="AccountFilterInput" data-required="false" data-desc="按帳戶地址篩選。"></x-field>
  <x-field data-name="txFilter" data-type="TxFilterInput" data-required="false" data-desc="按交易雜湊值篩選。"></x-field>
  <x-field data-name="rollupFilter" data-type="RollupFilterInput" data-required="false" data-desc="按 rollup 地址篩選。"></x-field>
  <x-field data-name="stakeFilter" data-type="StakeFilterInput" data-required="false" data-desc="按質押地址篩選。"></x-field>
  <x-field data-name="delegationFilter" data-type="DelegationFilterInput" data-required="false" data-desc="按委託地址篩選。"></x-field>
  <x-field data-name="tokenFactoryFilter" data-type="TokenFactoryFilterInput" data-required="false" data-desc="按代幣工廠地址篩選。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListTransactions" data-type="object" data-desc="一個包含分頁資訊和交易列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="transactions" data-type="IndexedTransaction[]" data-desc="一個交易物件的陣列。"></x-field>
</x-field>

### `listTokens`

列出鏈上所有的同質化代幣。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="issuerAddress" data-type="string" data-required="false" data-desc="按發行者地址篩選代幣。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選代幣。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListTokens" data-type="object" data-desc="一個包含分頁資訊和代幣列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="tokens" data-type="IndexedTokenState[]" data-desc="一個代幣狀態物件的陣列。"></x-field>
</x-field>

### `listFactories`

列出鏈上所有的資產工廠。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="ownerAddress" data-type="string" data-required="false" data-desc="按擁有者地址篩選工廠。"></x-field>
  <x-field data-name="addressList" data-type="string[]" data-required="false" data-desc="要查詢的工廠地址列表。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選工廠。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListFactories" data-type="object" data-desc="一個包含分頁資訊和工廠列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="factories" data-type="IndexedFactoryState[]" data-desc="一個工廠狀態物件的陣列。"></x-field>
</x-field>

### `getAccountTokens`

檢索特定帳戶的代幣餘額。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="帳戶的地址。"></x-field>
  <x-field data-name="token" data-type="string" data-required="false" data-desc="要查詢的特定代幣地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetAccountTokens" data-type="object" data-desc="一個包含回應碼和帳戶代幣列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="tokens" data-type="AccountToken[]" data-desc="一個代幣餘額物件的陣列。"></x-field>
</x-field>

### `getStakeState`

擷取特定質押的狀態。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的質押地址。"></x-field>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="查詢特定區塊高度的狀態。"></x-field>
  <x-field data-name="keys" data-type="string[]" data-required="false" data-desc="要檢索的特定欄位。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetStakeState" data-type="object" data-desc="一個包含回應碼和質押狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="StakeState" data-desc="質押的詳細狀態。"></x-field>
</x-field>

### `listStakes`

列出所有質押記錄，可選用篩選條件。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="addressFilter" data-type="AddressFilterInput" data-required="false" data-desc="按傳送者或接收者地址篩選質押。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選質押。"></x-field>
  <x-field data-name="assetFilter" data-type="AssetFilterInput" data-required="false" data-desc="按資產地址篩選質押。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListStakes" data-type="object" data-desc="一個包含分頁資訊和質押列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="stakes" data-type="IndexedStakeState[]" data-desc="一個質押狀態物件的陣列。"></x-field>
</x-field>

### `getRollupState`

檢索特定 rollup 的狀態。

**參數**

<x-field-group>
  <x-field data-name="address" data-type="string" data-required="true" data-desc="要查詢的 rollup 地址。"></x-field>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="查詢特定區塊高度的狀態。"></x-field>
  <x-field data-name="keys" data-type="string[]" data-required="false" data-desc="要檢索的特定欄位。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetRollupState" data-type="object" data-desc="一個包含回應碼和 rollup 狀態的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="state" data-type="RollupState" data-desc="rollup 的詳細狀態。"></x-field>
</x-field>

### `listRollups`

列出鏈上所有的 rollup。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="tokenAddress" data-type="string" data-required="false" data-desc="按代幣地址篩選 rollup。"></x-field>
  <x-field data-name="foreignTokenAddress" data-type="string" data-required="false" data-desc="按外部代幣地址篩選 rollup。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選 rollup。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListRollups" data-type="object" data-desc="一個包含分頁資訊和 rollup 列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="rollups" data-type="IndexedRollupState[]" data-desc="一個 rollup 狀態物件的陣列。"></x-field>
</x-field>

### `getRollupBlock`

從 rollup 側鏈擷取特定區塊。

**參數**

<x-field-group>
  <x-field data-name="hash" data-type="string" data-required="false" data-desc="rollup 區塊的雜湊值。"></x-field>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="rollup 區塊的高度。"></x-field>
  <x-field data-name="rollupAddress" data-type="string" data-required="true" data-desc="rollup 的地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetRollupBlock" data-type="object" data-desc="一個包含回應碼和 rollup 區塊的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="block" data-type="RollupBlock" data-desc="rollup 區塊的詳細資訊。"></x-field>
</x-field>

### `listRollupBlocks`

列出 rollup 側鏈的區塊。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="rollupAddress" data-type="string" data-required="true" data-desc="rollup 的地址。"></x-field>
  <x-field data-name="tokenAddress" data-type="string" data-required="false" data-desc="按代幣地址篩選。"></x-field>
  <x-field data-name="proposer" data-type="string" data-required="false" data-desc="按提案者地址篩選。"></x-field>
  <x-field data-name="validatorFilter" data-type="ValidatorFilterInput" data-required="false" data-desc="按驗證者篩選。"></x-field>
  <x-field data-name="txFilter" data-type="TxFilterInput" data-required="false" data-desc="按交易雜湊值篩選。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListRollupBlocks" data-type="object" data-desc="一個包含分頁資訊和 rollup 區塊列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="blocks" data-type="IndexedRollupBlock[]" data-desc="一個 rollup 區塊物件的陣列。"></x-field>
</x-field>

### `listRollupValidators`

列出特定 rollup 的驗證者。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="rollupAddress" data-type="string" data-required="true" data-desc="rollup 的地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListRollupValidators" data-type="object" data-desc="一個包含分頁資訊和 rollup 驗證者列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="validators" data-type="IndexedRollupValidator[]" data-desc="一個 rollup 驗證者物件的陣列。"></x-field>
</x-field>

### `listDelegations`

列出所有委託記錄。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="from" data-type="string" data-required="false" data-desc="按委託人地址篩選。"></x-field>
  <x-field data-name="to" data-type="string" data-required="false" data-desc="按受託人地址篩選。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListDelegations" data-type="object" data-desc="一個包含分頁資訊和委託列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="delegations" data-type="IndexedDelegationState[]" data-desc="一個委託狀態物件的陣列。"></x-field>
</x-field>

### `search`

對帳戶、資產或交易進行關鍵字搜尋。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="keyword" data-type="string" data-required="true" data-desc="要搜尋的關鍵字。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseSearch" data-type="object" data-desc="一個包含分頁資訊和搜尋結果的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="results" data-type="SearchResult[]" data-desc="一個搜尋結果物件的陣列。"></x-field>
</x-field>

### `estimateGas`

估算交易所需的 gas。

**參數**

<x-field-group>
  <x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="交易的類型 URL。"></x-field>
  <x-field data-name="tx" data-type="string" data-required="true" data-desc="已編碼的交易字串。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseEstimateGas" data-type="object" data-desc="一個包含回應碼和 gas 估算值的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="estimate" data-type="GasEstimate" data-desc="估算的 gas。"></x-field>
</x-field>

### `listTokenFlows`

追蹤帳戶之間的代幣流動。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="accountAddress" data-type="string" data-required="true" data-desc="要追蹤的帳戶地址。"></x-field>
  <x-field data-name="tokenAddress" data-type="string" data-required="false" data-desc="要追蹤的代幣地址。"></x-field>
  <x-field data-name="depth" data-type="number" data-required="false" data-desc="追蹤的深度。"></x-field>
  <x-field data-name="direction" data-type="TokenFlowDirection" data-required="false" data-desc="流動的方向（IN 或 OUT）。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListTokenFlows" data-type="object" data-desc="一個包含分頁資訊和代幣流動資料的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="data" data-type="IndexedTokenFlow[]" data-desc="一個代幣流動物件的陣列。"></x-field>
</x-field>

### `verifyAccountRisk`

評估指定帳戶的風險狀況。

**參數**

<x-field-group>
  <x-field data-name="accountAddress" data-type="string" data-required="true" data-desc="要驗證的帳戶地址。"></x-field>
  <x-field data-name="tokenAddress" data-type="string" data-required="false" data-desc="用於上下文的代幣地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseVerifyAccountRisk" data-type="object" data-desc="一個包含回應碼和風險驗證結果的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="data" data-type="VerifyAccountRiskResult" data-desc="風險驗證的結果。"></x-field>
</x-field>

### `getTokenDistribution`

檢索指定代幣的分佈統計數據。

**參數**

<x-field-group>
  <x-field data-name="tokenAddress" data-type="string" data-required="true" data-desc="代幣的地址。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseGetTokenDistribution" data-type="object" data-desc="一個包含回應碼和代幣分佈資料的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="data" data-type="TokenDistribution" data-desc="代幣分佈統計數據。"></x-field>
</x-field>

### `listTokenFactories`

列出鏈上所有的代幣工廠。

**參數**

<x-field-group>
  <x-field data-name="paging" data-type="PageInput" data-required="false" data-desc="分頁設定。"></x-field>
  <x-field data-name="tokenAddress" data-type="string" data-required="false" data-desc="按代幣地址篩選。"></x-field>
  <x-field data-name="reserveAddress" data-type="string" data-required="false" data-desc="按儲備代幣地址篩選。"></x-field>
  <x-field data-name="owner" data-type="string" data-required="false" data-desc="按擁有者地址篩選。"></x-field>
  <x-field data-name="timeFilter" data-type="TimeFilterInput" data-required="false" data-desc="按時間範圍篩選。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseListTokenFactories" data-type="object" data-desc="一個包含分頁資訊和代幣工廠列表的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="page" data-type="PageInfo" data-desc="分頁資訊。"></x-field>
  <x-field data-name="tokenFactories" data-type="IndexedTokenFactoryState[]" data-desc="一個代幣工廠狀態物件的陣列。"></x-field>
</x-field>


## 變動方法

變動用於傳送會修改區塊鏈狀態的交易。

### `sendTx`

將預先簽署的交易廣播到網路。這是所有寫入操作的基礎方法。關於建立和簽署交易，請參閱 [高階 API](./api-reference-transaction-helpers.md) 和 [交易生命週期](./core-concepts-transaction-lifecycle.md) 指南。

**參數**

<x-field-group>
  <x-field data-name="tx" data-type="string" data-required="true" data-desc="已編碼的交易字串。"></x-field>
  <x-field data-name="wallet" data-type="object" data-required="true" data-desc="用於簽署的錢包物件。"></x-field>
  <x-field data-name="token" data-type="string" data-required="false" data-desc="驗證權杖（如果需要）。"></x-field>
  <x-field data-name="commit" data-type="boolean" data-required="false" data-default="true" data-desc="若為 true，則等待交易被提交到區塊中。"></x-field>
  <x-field data-name="extra" data-type="string" data-required="false" data-desc="要包含的額外資料。"></x-field>
</x-field-group>

**傳回值**

<x-field data-name="ResponseSendTx" data-type="object" data-desc="一個包含回應碼和交易雜湊值的物件。">
  <x-field data-name="code" data-type="string" data-desc="回應的狀態碼。"></x-field>
  <x-field data-name="hash" data-type="string" data-desc="已提交交易的雜湊值。"></x-field>
</x-field>

**範例**

```javascript icon=logos:javascript
// 此範例假設 `signedTx` 是一個經過適當編碼和簽署的交易字串。
// 關於如何建立它，請參閱其他指南。

const signedTx = '...'; 
const wallet = { ... }; // 簽署此交易的錢包

try {
  const { hash } = await client.sendTx({ tx: signedTx, wallet });
  console.log('Transaction sent successfully! Hash:', hash);
} catch (error) {
  console.error('Failed to send transaction:', error);
}
```
