diff --git a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/error-formatting.md b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/error-formatting.md index 74ad796cd2..05d62a9897 100644 --- a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/error-formatting.md +++ b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/error-formatting.md @@ -3,6 +3,8 @@ html: error-formatting.html parent: api-conventions.html seo: description: WebSocket、JSON-RPC、コマンドラインインターフェイスのエラーフォーマットと汎用エラーコードです。 +labels: + - 開発 --- # エラーのフォーマット @@ -16,7 +18,7 @@ seo: {% tabs %} {% tab label="WebSocket" %} -``` +```json { "id": 3, "status": "error", @@ -34,8 +36,9 @@ seo: {% /tab %} {% tab label="JSON-RPC" %} -``` +```json HTTP Status: 200 OK + { "result": { "error": "ledgerIndexMalformed", @@ -52,7 +55,7 @@ HTTP Status: 200 OK {% /tab %} {% tab label="コマンドライン" %} -``` +```json { "result": { "error": "ledgerIndexMalformed", @@ -73,18 +76,19 @@ HTTP Status: 200 OK ## WebSocketフォーマット -| `Field` | 型 | 説明 | -|:----------|:---------|:------------------------------------------------------| -| `id` | (場合により異なる) | このレスポンスのリクエスト元となったWeb Socketリクエストに指定されていたID | -| `status` | 文字列 | `"error"`: リクエストが原因でエラーが発生した場合 | -| `type` | 文字列 | 通常は`"response"`。これは、コマンドに対し正常にレスポンスしたことを示します。 | -| `error` | 文字列 | 発生したエラータイプの一意のコード。 | -| `request` | オブジェクト | このエラーが発生したリクエストのコピー(JSONフォーマット)。**注意:** リクエストにアカウントの機密情報が含まれている場合、ここにコピーされます。 | +| `Field` | 型 | 説明 | +|:--------------|:------|:------------------------------------------------------| +| `id` | (多様) | このレスポンスのリクエスト元となったWeb Socketリクエストに指定されていたID | +| `status` | 文字列 | `"error"`: リクエストが原因でエラーが発生した場合 | +| `type` | 文字列 | 通常は`"response"`。これは、コマンドに対し正常にレスポンスしたことを示します。 | +| `error` | 文字列 | 発生したエラータイプの一意のコード。 | +| `request` | オブジェクト | このエラーが発生したリクエストのコピー(JSONフォーマット)。**注意:** リクエストにアカウントの機密情報が含まれている場合、ここにコピーされます。 | +| `api_version` | 数値 | _(省略可)_ リクエストで`api_version`を指定していた場合は、その値。 | ## JSON-RPCフォーマット -一部のJSON-RPCリクエストは、HTTPレイヤーでエラーコードでレスポンスします。この場合、レスポンスはレスポンス本文にプレーンテキストで記述されます。たとえば`method`パラメーターでコマンドを指定し忘れた場合、レスポンスは次のようになります。 +一部のJSON-RPCリクエストは、HTTPレイヤーでエラーコードでレスポンスします。この場合、レスポンスはレスポンス本文にプレーンテキストで記述されます。たとえば`method`パラメータでコマンドを指定し忘れた場合、レスポンスは次のようになります。 ``` HTTP Status: 400 Bad Request @@ -105,14 +109,19 @@ HTTPステータスコード200 OKが返されるその他のエラーの場合 すべてのメソッドは、以下のいずれかの値の`error`コードを返す可能性があります。 -* `unknownCmd` - リクエストに、`rippled`サーバが認識する[コマンド](../index.md)が含まれていません。 -* `jsonInvalid` -(WebSocketのみ)リクエストは適切なJSONオブジェクトではありません。 - * この場合JSON-RPCは、代わりに400 Bad Request HTTPエラーを返します。 -* `missingCommand` -(WebSocketのみ)リクエストに`command`フィールドが指定されていませんでした。 - * この場合JSON-RPCは、代わりに400 Bad Request HTTPエラーを返します。 -* `tooBusy` - サーバの負荷が高すぎるため、現在このコマンドを実行できません。管理者として接続している場合は、通常このエラーが返されることはありません。 -* `noNetwork` - サーバとXRP Ledgerピアツーピアネットワークのその他の部分との接続で問題が発生しています(サーバがスタンドアロンモードで実行されていません)。 -* `noCurrent` - 高い負荷、ネットワークの問題、バリデータ障害、誤った構成、またはその他の問題が原因で、サーバが現行のレジャーを認識できません。 -* `noClosed` - サーバに決済済みレジャーがありません。通常、このエラーは起動が完了していないことが原因で発生します。 -* `wsTextRequired` -(WebSocketのみ)リクエストの[opcode](https://tools.ietf.org/html/rfc6455#section-5.2)がテキストではありません。 -* `amendmentBlocked` - サーバの状態が[Amendment blocked](../../../concepts/networks-and-servers/amendments.md#amendment-blocked)であるため、XRP Ledgerネットワークとの同期を維持するために最新バージョンに更新する必要があります。 +- `amendmentBlocked` - サーバの状態が[Amendmentブロック](../../../concepts/networks-and-servers/amendments.md#amendment-blocked)されたであるため、XRP Ledgerネットワークとの同期を維持するために最新バージョンに更新する必要があります。 +- `failedToForward` - ([レポートモード][]のサーバのみ)サーバはこのリクエストをP2Pモードサーバに転送しようとしましたが、接続に失敗しました。 +- `invalid_API_version` - サーバはリクエストの[APIバージョン番号](request-formatting.md#apiのバージョン管理)をサポートしていません。 +- `jsonInvalid` -(WebSocketのみ)リクエストは適切なJSONオブジェクトではありません。 + - この場合JSON-RPCは、代わりに400 Bad Request HTTPエラーを返します。 +- `missingCommand` -(WebSocketのみ)リクエストに`command`フィールドが指定されていませんでした。 + - この場合JSON-RPCは、代わりに400 Bad Request HTTPエラーを返します。 +- `noClosed` - サーバに閉鎖済みレジャーがありません。通常、このエラーは起動が完了していないことが原因で発生します。 +- `noCurrent` - 高い負荷、ネットワークの問題、バリデータ障害、誤った構成、またはその他の問題が原因で、サーバが現行のレジャーを認識できません。 +- `noNetwork` - サーバとXRP Ledgerピアツーピアネットワークのその他の部分との接続で問題が発生しています(サーバがスタンドアロンモードで実行されていません)。 +- `unknownCmd` - リクエストに、`rippled`サーバが認識する[コマンド](../index.md)が含まれていません。 +- `tooBusy` - サーバの負荷が高すぎるため、現在このコマンドを実行できません。管理者として接続している場合は、通常このエラーが返されることはありません。 +- `wsTextRequired` -(WebSocketのみ)リクエストの[opcode](https://tools.ietf.org/html/rfc6455#section-5.2)がテキストではありません。 + + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md index 3bbe05f8f8..ee1581a7e7 100644 --- a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md +++ b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md @@ -6,71 +6,135 @@ seo: --- # リクエストのフォーマット -## WebSocketフォーマット - -`rippled`サーバへのWebSocketを開いた後、以下の属性を使用して、コマンドを[JSON](https://en.wikipedia.org/wiki/JSON)オブジェクトとして送信できます。 - -* コマンド名を最上位の`"command"`フィールドに指定します。 -* このコマンドのすべての関連パラメーターも最上位に指定します。 -* オプションで、任意の値を指定した`"id"`フィールドを指定します。このリクエストへのレスポンスでは、同一の`"id"`フィールドを使用します。そうすることで、レスポンスが順不同で到達した場合も、どのリクエストによってどのレスポンスを得られたのかがわかります。 - -レスポンスはJSONオブジェクトとして返されます。 - -## JSON-RPCフォーマット - -JSON-RPCリクエストを実行するには、`rippled`サーバがJSON-RPC接続をリッスンしているポートおよびIPで、HTTP **POST**リクエストをルートパス(`/`)に送信します。HTTP/1.0またはHTTP/1.1を使用できます。HTTPSを使用する場合は、TLS v1.2を使用してください。セキュリティ上の理由から、`rippled`ではSSL v3以前を _サポートしていません_ 。 - -常に`Content-Type`ヘッダー(値`application/json`)を指定してください。 - -複数のリクエストを実行する予定の場合は、リクエスト間で接続を閉じてから開く操作を行わずに済むように、[Keep-Alives](http://tools.ietf.org/html/rfc7230#section-6.3)を使用してください。 - -以下の属性を指定したリクエスト本文を[JSON](https://en.wikipedia.org/wiki/JSON)オブジェクトとして送信します。 - -* コマンドを最上位の`"method"` フィールドに指定します。 -* 最上位の`"params"`フィールドを指定します。このフィールドの内容は、コマンドのすべてのパラメーターが指定された1つの入れ子JSONオブジェクトのみを保持している**1要素配列**です。 - -レスポンスもJSONオブジェクトです。 - -## コマンドライン形式 - -コマンドラインでは、通常の(ダッシュが先頭に付いた)コマンドラインオプションの後にコマンドを指定し、その後に一連の限定的なパラメーターをスペースで区切って指定します。スペースやその他の特殊文字が含まれている可能性のあるパラメーター値は、一重引用符で囲みます。 - -### リクエストの例 +## リクエストの例 {% tabs %} {% tab label="WebSocket" %} -``` +```json { - "id": 2, - "command": "account_info", - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "strict": true, - "ledger_index": "validated" + "id": 2, + "command": "account_info", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "validated", + "api_version": 1 } ``` {% /tab %} {% tab label="JSON-RPC" %} -``` +```json POST http://s1.ripple.com:51234/ +Content-Type: application/json + { - "method": "account_info", - "params": [ - { - "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "strict": true, - "ledger_index": "validated" - } - ] + "method": "account_info", + "params": [ + { + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "validated", + "api_version": 1 + } + ] } ``` {% /tab %} {% tab label="コマンドライン" %} -``` -rippled account_info r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 validated true +```sh +rippled account_info r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 validated strict ``` {% /tab %} {% /tabs %} + + +## WebSocketフォーマット + +`rippled`サーバへのWebSocketを開いた後、以下のフィールドを使用して、コマンドを[JSON](https://ja.wikipedia.org/wiki/JSON)オブジェクトとして送信できます。 + +| フィールド | 型 | 説明 | +|:--------------------|:----------|:-------------------------------------------| +| `command` | 文字列 | [APIメソッド](../public-api-methods/index.md)の名前。 | +| `id` | (多種) | _(省略可)_ リクエストを識別するための一意な値。このリクエストに対するレスポンスも同じ `id` フィールドを使用します。これにより、レスポンスが順番通りに返ってこない場合でも、どのリクエストがどのレスポンスを返したのかを知ることができます。 | +| `api_version` | 数値 | _(省略可)_ 使用するAPIのバージョン。省略時はバージョン1を使用します。詳細については、[APIのバージョン管理](#api-versioning)をご覧ください。 | +| (メソッドのパラメータ) | (多種) | トップレベルのメソッドに任意のパラメータを指定します。 | + +サーバからのレスポンスについては[レスポンスのフォーマット](response-formatting.md)をご覧ください。 + +## JSON-RPCフォーマット + +JSON-RPCリクエストを実行するには、`rippled`サーバがJSON-RPC接続をリッスンしているポートおよびIPで、HTTP **POST**リクエストをルートパス(`/`)に送信します。HTTP/1.0またはHTTP/1.1を使用できます。HTTPSを使用する場合は、TLS v1.2を使用してください。セキュリティ上の理由から、`rippled`ではSSL v3以前を _サポートしていません_ 。 + +`Content-Type`ヘッダ(値`application/json`)を常に指定してください。 + +複数のリクエストを実行する場合は、リクエスト間で再接続を行わずに済むように、[Keep-Alives](http://tools.ietf.org/html/rfc7230#section-6.3)を使用してください。 + +以下のフィールドを指定したリクエストボディを[JSON](https://en.wikipedia.org/wiki/JSON)オブジェクトとして送信します。 + + +| フィールド | 型 | 説明 | +|:--------------------|:----------|:-------------------------------------------| +| `method` | 文字列 | [APIメソッド](../public-api-methods/index.md)の名前。 | +| `params` | 配列 | _(省略可)_ このメソッドのパラメータを持つネストされたJSONオブジェクトを含む**一要素の配列**。メソッドがパラメータを必要としない場合は、このフィールドを省略できます。 | + +`params`配列内のオブジェクトには以下のフィールドを含めることができます。 + +| フィールド | 型 | 説明 | +|:--------------------|:----------|:-------------------------------------------| +| `api_version` | 数値 | _(省略可)_ 使用するAPIのバージョン。省略時はバージョン1を使用します。詳細については、[APIのバージョン管理](#api-versioning)をご覧ください。 | +| (Method Parameters) | (多種) | メソッドで利用する任意のパラメータ。 | + +サーバからのレスポンスについては[レスポンスのフォーマット](response-formatting.md)をご覧ください。 + +## コマンドライン形式 + +APIのメソッド名は、通常の(ダッシュで始まる)コマンドラインオプションの後に、スペースで区切られた一部のパラメータを続けて指定します。スペースやその他の特殊文字を含む可能性のあるパラメータ値については、シングルクォートで囲んでください。すべてのメソッドがコマンドラインAPI構文を持っているわけではありません。詳しくは、[コマンドラインの使い方](../../../infrastructure/commandline-usage.md#client-mode-options)をご覧ください。 + +コマンドラインはJSON-RPCを呼び出すため、そのレスポンスは常にJSON-RPCの[レスポンスのフォーマット](response-formatting.md)と一致します。 + +コマンドラインは常に最新の[APIバージョン](#api-versioning)を使用します。 + +**注意:** コマンドラインインターフェイスは管理目的でのみ使用することを意図しており、_サポートされているAPIではありません_です。新しいバージョンの`rippled`では、警告なしにコマンドラインAPIに破壊的な変更が導入される可能性があります! + + +## APIのバージョン管理 + +`rippled`サーバは、使用するAPIバージョンを識別するために単一の整数を使用します。現在、`1`と`2`{% badge href="https://github.com/XRPLF/rippled/releases/tag/2.0.0" %}新規: rippled 2.0.0{% /badge %}の2つのAPIバージョンがあります。サーバは`version`APIメソッドでサポートされるAPIバージョンの範囲を報告します。 + +それぞれのAPIバージョンは、破壊的な変更が導入されるときに新しいAPIバージョン番号を導入します。プレリリースやベータ、開発バージョンでは、同じAPIバージョン番号で破壊的な変更を導入することがあり、`account_tx`リクエストを使用してAPIバージョン2を使用し、同じ接続でAPIバージョン1を使用して別の`account_tx`リクエストを行うことができます。 + +将来の`rippled`のバージョンで破壊的な変更が導入されると、新しいAPIバージョン3が導入されます。 + + +### 破壊的変更 + +次の種類の変更は**破壊的変更**です。 + +- リクエストやレスポンスのフィールドの削除や名前の変更 +- リクエストやレスポンスのフィールドの型の変更 +- リクエストやレスポンスのフィールドの意味の変更 +- リクエストやレスポンスのフィールドの位置の変更、または他のリクエストやレスポンスのフィールドの前への新しいフィールドの追加 +- APIメソッドの削除や名前の変更 +- 既存のクライアントから確認できるAPI関数の動作の変更 +- 次の種類の変更は、gRPC APIにのみ適用されます。 + - `proto`フィールド番号の変更 + - 列挙型または列挙型値の削除または名前の変更 + - `oneof`からのフィールドの追加または削除 + - `oneof`の分割または統合 + - メッセージフィールドが`optional`、`repeated`、または`required`であるかの変更 + - リクエストまたはレスポンスのストリーム値の変更 + - パッケージまたはサービスの削除または名前の変更 + +フルリリースで破壊的変更が加えられると、新しいAPIバージョン番号が導入されます。プレリリース版、ベータ版、開発版では、同じAPIバージョン番号に変更を加えることがあります。 + +### 非破壊的変更 + +次の種類の変更は**非破壊的変更**であり、APIバージョン番号の変更なしに発生する可能性があります。 + +- パラメータの位置の変更を含まない、新しいフィールドの追加 +- 新しいAPIメソッドの追加 + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/response-formatting.md b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/response-formatting.md index c7794afa80..90e3ef47ac 100644 --- a/@i18n/ja/docs/references/http-websocket-apis/api-conventions/response-formatting.md +++ b/@i18n/ja/docs/references/http-websocket-apis/api-conventions/response-formatting.md @@ -6,17 +6,20 @@ seo: --- # レスポンスのフォーマット -`rippled` APIからのレスポンスのフォーマットは、メソッドが呼び出されたインターフェイス(WebSocket、JSON-RPC、コマンドライン)に応じて多少異なります。コマンドラインインターフェイスがJSON-RPCを呼び出すため、コマンドラインインターフェイスとJSON-RPCインターフェイスは同じフォーマットを使用します。 +`rippled`APIからのレスポンスのフォーマットは、メソッドが呼び出されたインターフェイス(WebSocket、JSON-RPC、コマンドライン)に応じて多少異なります。コマンドラインインターフェイスがJSON-RPCを呼び出すため、コマンドラインインターフェイスとJSON-RPCインターフェイスは同じフォーマットを使用します。 成功した場合のレスポンスに含まれるフィールドは、以下の通りです。 -| `Field` | 型 | 説明 | -|:----------------|:---------|:------------------------------------------------| -| `id` | (場合により異なる) | (WebSocketのみ)このレスポンスのリクエスト元となったリクエストで指定されているID。 | -| `status` | 文字列 | (WebSocketのみ)値が`success`である場合、リクエストがサーバによって正常に受信され、理解されたことを示します。 | -| `result.status` | 文字列 | (JSON-RPCおよびコマンドライン)値が`success`である場合、リクエストがサーバによって正常に受信され、理解されたことを示します。 | -| `type` | 文字列 | (WebSocketのみ)値が`response`の場合、コマンドに対する正常なレスポンスであることを示します。[非同期の通知](../public-api-methods/subscription-methods/subscribe.md)では、`ledgerClosed`や`transaction`など異なる値が使用されます。 | -| `result` | オブジェクト | クエリーの結果。内容はコマンドによって異なります。 | +| `Field` | 型 | 説明 | +|:----------------|:-----------|:------------------------------------------------| +| `id` | (場合により異なる) | (WebSocketのみ)このレスポンスのリクエスト元となったリクエストで指定されているID。 | +| `status` | 文字列 | (WebSocketのみ)値が`success`である場合、リクエストがサーバによって正常に受信され、理解されたことを示します。 | +| `result.status` | 文字列 | (JSON-RPCおよびコマンドライン)値が`success`である場合、リクエストがサーバによって正常に受信され、理解されたことを示します。 | +| `type` | 文字列 | (WebSocketのみ)値が`response`の場合、コマンドに対する正常なレスポンスであることを示します。[非同期の通知](../public-api-methods/subscription-methods/subscribe.md)では、`ledgerClosed`や`transaction`など異なる値が使用されます。 | +| `result` | オブジェクト | クエリーの結果。内容はコマンドによって異なります。 | +| `warning` | 文字列 | _(省略可)_ このフィールドが存在する場合、値は文字列`load`です。これはクライアントがサーバがこのクライアントを切断する[レートリミット](rate-limiting.md)の閾値に近づいていることを意味します。 | +| `warnings` | 配列 | _(省略可)_ このフィールドが存在する場合、重要な警告を含む1つ以上の**Warningsオブジェクト**が含まれます。詳細については、[API警告](#apiの警告)をご覧ください。 | +| `forwarded` | 真偽値 | _(省略可)_ `true`の場合、このリクエストとレスポンスは[レポートモード][]サーバからP2Pモードサーバに転送されます。デフォルトは`false`です。 | ## 成功した場合のレスポンスの例 @@ -24,32 +27,33 @@ seo: {% tabs %} {% tab label="WebSocket" %} -``` +```json { - "id": 2, - "status": "success", - "type": "response", - "result": { - "account_data": { - "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "Balance": "27389517749", - "Flags": 0, - "LedgerEntryType": "AccountRoot", - "OwnerCount": 18, - "PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932", - "PreviousTxnLgrSeq": 6592159, - "Sequence": 1400, - "index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05" - }, - "ledger_index": 6760970 - } + "id": 2, + "status": "success", + "type": "response", + "result": { + "account_data": { + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "Balance": "27389517749", + "Flags": 0, + "LedgerEntryType": "AccountRoot", + "OwnerCount": 18, + "PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932", + "PreviousTxnLgrSeq": 6592159, + "Sequence": 1400, + "index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05" + }, + "ledger_index": 6760970 + } } ``` {% /tab %} {% tab label="JSON-RPC" %} -``` +```json HTTP Status: 200 OK + { "result": { "account_data": { @@ -71,7 +75,7 @@ HTTP Status: 200 OK {% /tab %} {% tab label="コマンドライン" %} -``` +```json { "result": { "account_data": { @@ -93,3 +97,102 @@ HTTP Status: 200 OK {% /tab %} {% /tabs %} + + +## APIの警告 + +レスポンスに`warnings`の配列が含まれる場合、その配列の各要素はサーバからの個別の警告を表します。このような**警告オブジェクト**はそれぞれ以下のフィールドを含みます: + +| フィールド | 型 | 説明 | +|:----------|:-----------|:--------------------------------------------------------| +| `id` | 数値 | この警告メッセージの一意の数値コード。 | +| `message` | 文字列 | このメッセージの原因を説明する人間が読める文字列。このメッセージの内容に依存するようなソフトウェアを書かないでください。代わりに`id`(および`details`(もしあれば))を使って警告を識別してください。 | +| `details` | オブジェクト | _(省略可)_ この警告に関する追加情報。内容は警告の種類によって異なります。 | + +以下の資料では、考えられるすべての警告について説明しています。 + +### 1001. Unsupported amendments have reached majority + +警告の例: + +```json +"warnings" : [ + { + "details" : { + "expected_date" : 864030, + "expected_date_UTC" : "2000-Jan-11 00:00:30.0000000 UTC" + }, + "id" : 1001, + "message" : "One or more unsupported amendments have reached majority. Upgrade to the latest version before they are activated to avoid being amendment blocked." + } +] +``` + +この警告は、XRP Ledgerプロトコルの1つ以上の[Amendment](../../../concepts/networks-and-servers/amendments.md)が有効になる予定であるが、現在のサーバにはそれらのAmendmentの実装がないことを示しています。これらのAmendmentが有効になると、現在のサーバは[Amendmentブロック](../../../concepts/networks-and-servers/amendments.md#amendment-blocked-servers)されるため、できるだけ早く[最新の`rippled`バージョンにアップグレード](../../../infrastructure/installation/index.md)する必要があります。 + +サーバは、この警告を送信するのは、クライアントが[管理者として接続している](../../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access)場合のみです。 + +この警告には、以下のフィールドを含む`details`フィールドが含まれます。 + +| フィールド | 型 | 説明 | +|:--------------------|:-------|:----------------------------------------------| +| `expected_date` | 数値 | サポートされていない最初のAmendmentが有効になると予想される時刻([リップルエポックからの秒数][])。| +| `expected_date_UTC` | 文字列 | サポートされていない最初のAmendmentが有効になると予想される時刻(UTCでのタイムスタンプ)。 | + +レジャーのクローズ時間の変動により、これらはおおよその時刻となります。また、指定された時刻までにAmendmentが80%以上のバリデータからサポートされ続けない場合、Amendmentが有効にならず、期待された時刻にAmendmentが有効にならない可能性があります。サポートされていないAmendmentが有効にならない限り、サーバはAmendmentブロックされません。 + + +### 1002. This server is amendment blocked + +警告の例: + +```json +"warnings" : [ + { + "id" : 1002, + "message" : "This server is amendment blocked, and must be updated to be able to stay in sync with the network." + } +] +``` + +この警告は、サーバが[Amendmentブロック](../../../concepts/networks-and-servers/amendments.md)され、同期を取ることができなくなったことを示しています。 + +サーバの管理者は、アクティブ化されたAmendmentをサポートするバージョンに[`rippled`をアップグレード](../../../infrastructure/installation/index.md)する必要があります。 + +### 1003. This is a reporting server + +警告の例: + +```json +"warnings" : [ + { + "id" : 1003, + "message" : "This is a reporting server. The default behavior of a reporting server is to only return validated data. If you are looking for not yet validated data, include \"ledger_index : current\" in your request, which will cause this server to forward the request to a p2p node. If the forward is successful the response will include \"forwarded\" : \"true\"" + } +] +``` + +この警告は、リクエストに応答するサーバが[レポートモード][]で実行されていることを示しています。レポートモードはピアツーピアネットワークに接続せず、まだ検証されていないレジャーデータを追跡しないため、一部のAPIメソッドが利用できないか、異なる動作をすることがあります。 + +一般的に、この警告は無視しても安全です。 + +**注意:** レポートモードで検証されていないデータをリクエストする場合、明示的に[レジャーバージョンを指定][レジャーの指定]しない限り、レポートモードはデフォルトで最新の検証済みレジャーを使用します。 + + +## 関連項目 + +- [リクエストのフォーマット](request-formatting.md) +- [エラーのフォーマット](error-formatting.md): APIレスポンスの失敗 +- **コンセプト:** + - [`rippled`サーバ](../../../concepts/networks-and-servers/index.md) + - [コンセンサス](../../../concepts/consensus-protocol/index.md) + - [Amendment](../../../concepts/networks-and-servers/amendments.md) + - [既知のAmendment](/resources/known-amendments.md) +- **チュートリアル:** + - [XRP LedgerのAPIを触ってみよう](../../../tutorials/http-websocket-apis/build-apps/get-started.md) + - [`rippled`のインストールと更新](../../../infrastructure/installation/index.md) +- **リファレンス:** + - [featureメソッド][] + - [server_infoメソッド][] + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md b/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md index 43d416c66d..5a05783eb9 100644 --- a/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md +++ b/@i18n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md @@ -12,7 +12,7 @@ labels: `server_state`コマンドは、サーバに対し`rippled`サーバの現在の状態に関するさまざまな機械可読の情報を問い合わせます。レスポンスは[server_infoメソッド][]の場合とほぼ同じですが、読み取りやすい単位ではなく処理しやすい単位を使用します。(たとえば、XRP値は科学的記数法や10進数値の代わりに整数のdrop数で示され、時刻は秒単位ではなくミリ秒単位で示されます。) -The [Clio server](the-clio-server.html) does not support `server_state` directly, but you can ask for the `server_state` of the `rippled` server that Clio is connected to. Specify `"ledger_index": "current"` (WebSocket) or `"params": [{"ledger_index": "current"}]` (JSON-RPC). +The [Clio server](../../../../concepts/networks-and-servers/the-clio-server.md) does not support `server_state` directly, but you can ask for the `server_state` of the `rippled` server that Clio is connected to. Specify `"ledger_index": "current"` (WebSocket) or `"params": [{"ledger_index": "current"}]` (JSON-RPC). ## リクエストのフォーマット リクエストのフォーマットの例: @@ -316,6 +316,8 @@ Headers | `validation_quorum` | 数値 | 1つのレジャーバージョンの検証に最低限必要となる信頼できる検証の数。状況によっては、サーバがさらに検証をリクエストする場合があります。 | | `validator_list_expires` | 数値 | _(管理者専用)_ 現在のバリデータリストが期限切れになる時点([Rippleエポック以降の経過秒数][])。サーバが発行済みのバリデータリストをロードしていない場合は0。 | +[レポートモード]: ../../../../concepts/networks-and-servers/rippled-server-modes.md + {% partial file="/@i18n/ja/docs/_snippets/etl-source-object.md" /%} {% partial file="/@i18n/ja/docs/_snippets/port-descriptor-object.md" /%} diff --git a/docs/references/http-websocket-apis/api-conventions/response-formatting.md b/docs/references/http-websocket-apis/api-conventions/response-formatting.md index f0d49f033d..847ae6b1f9 100644 --- a/docs/references/http-websocket-apis/api-conventions/response-formatting.md +++ b/docs/references/http-websocket-apis/api-conventions/response-formatting.md @@ -103,7 +103,7 @@ HTTP Status: 200 OK When the response contains a `warnings` array, each member of the array represents a separate warning from the server. Each such **Warning Object** contains the following fields: -| `Field` | Type | Description | +| Field | Type | Description | |:----------|:-------|:--------------------------------------------------------| | `id` | Number | A unique numeric code for this warning message. | | `message` | String | A human-readable string describing the cause of this message. Do not write software that relies the contents of this message; use the `id` (and `details`, if applicable) to identify the warning instead. | @@ -134,7 +134,7 @@ The server only sends this warning if the client is [connected as an admin](../. This warning includes a `details` field with the following fields: -| Field | Value | Description | +| Field | Type | Description | |:--------------------|:-------|:----------------------------------------------| | `expected_date` | Number | The time that the first unsupported amendment is expected to become enabled, in [seconds since the Ripple Epoch][]. | | `expected_date_UTC` | String | The timestamp, in UTC, when the first unsupported amendment is expected to become enabled. | @@ -161,7 +161,6 @@ The server administrator must [upgrade `rippled`](../../../infrastructure/instal ### 1003. This is a reporting server - Example warning: ```json