# クエリとミューテーションのメソッド

OCAP Client は GraphQL を通じてブロックチェーンと対話します。メソッドは主に2つのタイプに分類されます。

* **クエリ**: ブロックチェーンからデータを取得するために使用される読み取り専用の操作です。アカウントの状態の取得、トランザクションのリスト表示、または一般的なチェーン情報の取得などが含まれます。これらはチェーンの状態を変更しません。
* **ミューテーション**: ブロックチェーンの状態を変更する書き込み操作です。トランザクションの送信がミューテーションの主な例です。

このセクションでは、クライアントが提供する利用可能なすべてのクエリおよびミューテーションメソッドの完全なリファレンスを提供します。


## クエリメソッド

クエリはブロックチェーンからデータを取得するために使用されます。以下は、利用可能なすべてのクエリメソッドの完全なリストです。

### `getAccountState`

特定のアカウントの現在の状態（残高、ナンス、その他の詳細を含む）を取得します。

**パラメータ**

<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`

mempool にあるがまだ確認されていないトランザクションを取得します。

**パラメータ**

<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="ロールアップアドレスでフィルタリングします。"></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`

特定のロールアップの状態を取得します。

**パラメータ**

<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="ResponseGetRollupState" data-type="object" data-desc="レスポンスコードとロールアップの状態を含むオブジェクト。">
  <x-field data-name="code" data-type="string" data-desc="レスポンスのステータスコード。"></x-field>
  <x-field data-name="state" data-type="RollupState" data-desc="ロールアップの詳細な状態。"></x-field>
</x-field>

### `listRollups`

チェーン上のすべてのロールアップをリスト表示します。

**パラメータ**

<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="foreignTokenAddress" 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="ResponseListRollups" 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="rollups" data-type="IndexedRollupState[]" data-desc="ロールアップ状態オブジェクトの配列。"></x-field>
</x-field>

### `getRollupBlock`

ロールアップサイドチェーンから特定のブロックを取得します。

**パラメータ**

<x-field-group>
  <x-field data-name="hash" data-type="string" data-required="false" data-desc="ロールアップブロックのハッシュ。"></x-field>
  <x-field data-name="height" data-type="string" data-required="false" data-desc="ロールアップブロックの高さ。"></x-field>
  <x-field data-name="rollupAddress" data-type="string" data-required="true" data-desc="ロールアップのアドレス。"></x-field>
</x-field-group>

**戻り値**

<x-field data-name="ResponseGetRollupBlock" data-type="object" data-desc="レスポンスコードとロールアップブロックを含むオブジェクト。">
  <x-field data-name="code" data-type="string" data-desc="レスポンスのステータスコード。"></x-field>
  <x-field data-name="block" data-type="RollupBlock" data-desc="ロールアップブロックの詳細情報。"></x-field>
</x-field>

### `listRollupBlocks`

ロールアップサイドチェーンからブロックをリスト表示します。

**パラメータ**

<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="ロールアップのアドレス。"></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="ページネーション情報とロールアップブロックのリストを含むオブジェクト。">
  <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="ロールアップブロックオブジェクトの配列。"></x-field>
</x-field>

### `listRollupValidators`

特定のロールアップのバリデーターをリスト表示します。

**パラメータ**

<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="ロールアップのアドレス。"></x-field>
</x-field-group>

**戻り値**

<x-field data-name="ResponseListRollupValidators" 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="validators" data-type="IndexedRollupValidator[]" data-desc="ロールアップバリデーターオブジェクトの配列。"></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`

トランザクションに必要なガスを推定します。

**パラメータ**

<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="レスポンスコードとガス推定値を含むオブジェクト。">
  <x-field data-name="code" data-type="string" data-desc="レスポンスのステータスコード。"></x-field>
  <x-field data-name="estimate" data-type="GasEstimate" data-desc="推定ガス量。"></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);
}
```
