# ledger

[[ソース]](https://github.com/XRPLF/clio/blob/master/src/rpc/handlers/Ledger.cpp)

`ledger`コマンドは公開されている[レジャー](/ja/docs/concepts/ledgers)の情報を取得します。新規: Clio v1.0.0

Clioサーバはデフォルトで検証済みのレジャーデータを返すことに注意してください。

## リクエストのフォーマット

リクエストのフォーマットの例:

WebSocket

```json
{
    "id": "example_ledger_req",
    "command": "ledger",
    "ledger_index": "validated",
    "transactions": false,
    "expand": false,
    "owner_funds": false,
    "api_version": 2
}
```

JSON-RPC

```json
{
    "method": "ledger",
    "params": [
        {
            "ledger_index": "validated",
            "transactions": false,
            "expand": false,
            "owner_funds": false,
            "diff": false,
            "api_version": 2
        }
    ]
}
```

リクエストには以下のパラメータを含めることができます。

| `Field` | 型 | 説明 |
|  --- | --- | --- |
| `ledger_hash` | [ハッシュ](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5) | *(省略可)* 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%AC%E3%82%B8%E3%83%A3%E3%83%BC%E3%81%AE%E6%8C%87%E5%AE%9A)ご覧ください。) |
| `ledger_index` | [レジャーインデックス](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%AC%E3%82%B8%E3%83%A3%E3%83%BC%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9) | *(省略可)* 使用するレジャーの[レジャーインデックス](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%AC%E3%82%B8%E3%83%A3%E3%83%BC%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9)、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%AC%E3%82%B8%E3%83%A3%E3%83%BC%E3%81%AE%E6%8C%87%E5%AE%9A)をご覧ください) |
| `transactions` | 真偽値 | *(省略可)* `true`の場合、指定されたレジャーバージョンのトランザクションに関する情報が返されます。デフォルトでは`false`です。レジャーバージョンを指定しない場合は無視されます。 |
| `expand` | 真偽値 | *(省略可)* ハッシュのみではなく、トランザクション/アカウントの完全な情報がJSONフォーマットで提供されます。デフォルトでは`false`です。トランザクション、アカウント、またはその両方をリクエストしない場合は無視されます。 |
| `owner_funds` | 真偽値 | *(省略可)* `true`の場合、レスポンスのOfferCreateトランザクションのメタデータに`owner_funds`フィールドが含まれます。デフォルトでは`false`です。トランザクションが含まれておらず、`expand`がtrueではない場合には無視されます。 |
| `binary` | 真偽値 | *(省略可)* `true`で、かつ`transactions`と`expand`が両方とも`true`の場合、JSONフォーマットではなくバイナリフォーマット（16進文字列）でトランザクション情報が返されます。 |
| `diff` | 真偽値 | *(省略可)* `true`の場合、指定したレジャーのトランザクションの一部として追加、変更、または削除されたすべてのオブジェクトを返します。 |


`ledger`フィールドは廃止予定であり、今後予告なしに削除される可能性があります。

注記
Clioの`ledger`コマンドは、[rippledのledgerコマンド](/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger)でサポートされている以下のフィールドをサポートしていません。

* `accounts`
* `full`
* `queue`


上記のフィールドのいずれかが`true`に設定されている場合、Clioは**常に**リクエストを`rippled`に転送します。

## レスポンスのフォーマット

処理が成功したレスポンスの例:

WebSocket

```json
{
  "result": {
    "ledger_hash": "3787026448652A36491493C1202A443B2A6CC6022599BB0B25DDB0802DD7F1E7",
    "ledger_index": 82681623,
    "validated": true,
    "ledger": {
      "account_hash": "39D34D858A0FD652143ED84B67A09193772DE0CCEBD2D63619E679293B7A3388",
      "close_flags": 0,
      "close_time": 748569571,
      "close_time_human": "2023-Sep-20 23:59:31.000000000 UTC",
      "close_time_resolution": 10,
      "close_time_iso": "2023-09-20T23:59:31Z",
      "ledger_hash": "3787026448652A36491493C1202A443B2A6CC6022599BB0B25DDB0802DD7F1E7",
      "parent_close_time": 748569570,
      "parent_hash": "674FF6C68956E06CB9628833677C3DD71824C87C0AEFB487984CF98C3964DAEE",
      "total_coins": "99988406188847858",
      "transaction_hash": "11EE9C448D6B07B88A80B4FC7935B485E513816B3B47D0976CE9F51E7CF10A85",
      "ledger_index": 82681623,
      "closed": true
    }
  },
  "id": "example_ledger_req",
  "api_version": 2,
  "status": "success",
  "type": "response",
  "warnings": [
    {
      "id": 2001,
      "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
    }
  ]
}
```

JSON-RPC

```json
200 OK

{
  "result": {
    "ledger_hash": "3787026448652A36491493C1202A443B2A6CC6022599BB0B25DDB0802DD7F1E7",
    "ledger_index": 82681623,
    "validated": true,
    "ledger": {
      "account_hash": "39D34D858A0FD652143ED84B67A09193772DE0CCEBD2D63619E679293B7A3388",
      "close_flags": 0,
      "close_time": 748569571,
      "close_time_human": "2023-Sep-20 23:59:31.000000000 UTC",
      "close_time_resolution": 10,
      "close_time_iso": "2023-09-20T23:59:31Z",
      "ledger_hash": "3787026448652A36491493C1202A443B2A6CC6022599BB0B25DDB0802DD7F1E7",
      "parent_close_time": 748569570,
      "parent_hash": "674FF6C68956E06CB9628833677C3DD71824C87C0AEFB487984CF98C3964DAEE",
      "total_coins": "99988406188847858",
      "transaction_hash": "11EE9C448D6B07B88A80B4FC7935B485E513816B3B47D0976CE9F51E7CF10A85",
      "ledger_index": 82681623,
      "closed": true
    },
    "status": "success"
  },
  "warnings": [
    {
      "id": 2001,
      "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
    }
  ]
}
```

レスポンスは[標準フォーマット](/ja/docs/references/http-websocket-apis/api-conventions/response-formatting)に従っており、正常に完了した場合は結果にレジャーに関する情報を表す次のフィールドが含まれています。

| `Field` | 型 | 説明 |
|  --- | --- | --- |
| `ledger` | オブジェクト | このレジャーの完全なヘッダーデータ。 |
| `ledger.account_hash` | 文字列 | このレジャーのすべてのアカウントの状態情報のハッシュ値。 |
| `ledger.accountState` | 配列 | (リクエストで指定がない場合省略) このレジャーのすべての[アカウント状態情報](/ja/docs/references/protocol/ledger-data)(16進数) |
| `ledger.close_flags` | 数値 | このレジャーの[クローズに関するフラグ](/ja/docs/references/protocol/ledger-data/ledger-header#close-flags)のビットマップ。 |
| `ledger.close_time` | 数値 | レジャーが閉鎖された時刻（[Rippleエポック以降の経過秒数](/ja/docs/references/protocol/data-types/basic-data-types#%E6%99%82%E9%96%93%E3%81%AE%E6%8C%87%E5%AE%9A)）。 |
| `ledger.close_time_human` | 文字列 | 人間が読めるフォーマットでのこのレジャーが閉鎖された時刻。常にUTCタイムゾーンを使用します。 |
| `ledger.close_time_resolution` | 数値 | レジャー閉鎖時刻が丸められる秒数の範囲。 |
| `ledger.closed` | 真偽値 | このレジャーが閉鎖されているかどうか。 |
| `ledger.ledger_hash` | 文字列 | レジャー全体の一意の識別用ハッシュ。 |
| `ledger.ledger_index` | 文字列 | このレジャーの[レジャーインデックス](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%AC%E3%82%B8%E3%83%A3%E3%83%BC%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9)。整数を引用符で囲んだ形式で示されます。 |
| `ledger.parent_close_time` | 数値 | 前のレジャーが閉鎖された時刻。 |
| `ledger.parent_hash` | 文字列 | このレジャーの直前のレジャーの一意の識別用ハッシュ。 |
| `ledger.total_coins` | 文字列 | ネットワークのXRPの合計（drop数）。整数を引用符で囲んだ形式で示されます。（トランザクションコストによりXRPが焼却されると、この値は減少します。） |
| `ledger.transaction_hash` | 文字列 | このレジャーに記録されているトランザクション情報のハッシュ（16進数） |
| `ledger.transactions` | 配列 | (リクエストで指定がない場合省略) このレジャーバージョンで適用されたトランザクション。デフォルトでは、メンバーはトランザクションの識別用[ハッシュ](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5)文字列です。リクエストで`expand`がtrueとして指定されている場合は、メンバーはJSONフォーマットまたはバイナリフォーマットでのトランザクションの完全な表現です。フォーマットは、リクエストで`binary`がtrueとして指定されていたかどうかに応じて決まります。 |
| `ledger_hash` | 文字列 | レジャー全体の一意の識別用ハッシュ。 |
| `ledger_index` | 数値 | このレジャーの[レジャーインデックス](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%AC%E3%82%B8%E3%83%A3%E3%83%BC%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9)。 |
| `validated` | 真偽値 | *(省略される場合があります)* `true`の場合、このレジャーは最終バージョンです。省略または `false` の場合、このレジャーのデータは最終版ではありません。 |
| `diff` | オブジェクト | *(リクエストで`diff`パラメータの指定がない場合省略)* レジャーのトランザクションの一部として追加、変更、または削除されたハッシュの配列を含むオブジェクト。 |


リクエストに`"owner_funds": true`が指定されておりトランザクションが展開されている場合、レスポンスには、各[OfferCreateトランザクション](/ja/docs/references/protocol/transactions/types/offercreate)の`metaData`オブジェクトの`owner_funds`フィールドが含まれています。このフィールドの目的は、新しい検証済みレジャーごとに[オファーの資金化ステータス](/ja/docs/concepts/tokens/decentralized-exchange/offers#%E3%82%AA%E3%83%95%E3%82%A1%E3%83%BC%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB)を容易に追跡できるようにすることです。このフィールドの定義は、[オーダーブックサブスクリプションストリーム](/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe#%E3%82%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%83%96%E3%83%83%E3%82%AF%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0)でのこのフィールドのバージョンとはわずかに異なります。

| `Field` | 値 | 説明 |
|  --- | --- | --- |
| `owner_funds` | 文字列 | このレジャーのすべてのトランザクションの実行後に、このOfferCreateトランザクションを送信する`Account`が保有する`TakerGets`通貨の額。この通貨額が[フリーズ](/ja/docs/concepts/tokens/fungible-tokens/freezes)されているかどうかはチェックされません。 |


リクエストで`”diff": true`を指定した場合、レスポンスにはオブジェクト`diff`が含まれます。このオブジェクトのフィールドは以下の通りです。

| `Field` | 値 | 説明 |
|  --- | --- | --- |
| `object_id` | 文字列 | オブジェクトのID |
| `Hashes` | オブジェクトまたは16進文字列 | リクエストが`binary`をtrueに設定したかfalseに設定したかに応じて、このフィールドは作成されたオブジェクトの内容、変更されたオブジェクトの新しい値、またはオブジェクトが削除された場合は空の文字列を返します。 |


### `diff`に`true`を設定した場合のレスポンス

`{% code-snippet file="/_api-examples/ledger-clio/jsonrpc-diff-response.json" language="json" /%}`

## 考えられるエラー

* [汎用エラータイプ](/ja/docs/references/http-websocket-apis/api-conventions/error-formatting#%E6%B1%8E%E7%94%A8%E3%82%A8%E3%83%A9%E3%83%BC)のすべて。
* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。
* `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバが保有していません。