chore: rename deprecated i18n to l10n

This commit is contained in:
Vova Rutskyi
2024-09-23 15:13:11 +03:00
committed by amarantha-k
parent 6cbb3a036f
commit 9a0c010600
502 changed files with 984 additions and 122 deletions

View File

@@ -0,0 +1,115 @@
---
html: health-check.html
parent: peer-port-methods.html
seo:
description: サーバの状態を報告するための特別なAPIメソッドです。
labels:
- コアサーバ
---
# ヘルスチェック
[[ソース]](https://github.com/XRPLF/rippled/blob/de0c52738785de8bf837f9124da65c7905e7bb5a/src/ripple/overlay/impl/OverlayImpl.cpp#L1084-L1168 "ソース")
ヘルスチェックは、個々の`rippled`サーバの状態を報告するための特別な[peer portメソッド](index.md)です。このメソッドは、自動化された監視において、機能停止を認識し、サーバの再起動のような自動または手動による介入を促すために使用することを意図しています。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.6.0" %}新規: rippled 1.6.0{% /badge %}
このメソッドは、複数の情報をチェックして、一般に正常とみなされる範囲にあるかどうかを確認します。すべての情報が正常な範囲にある場合、このメソッドは、サーバが正常であることを報告します。いずれかの情報が正常な範囲外の場合、このメソッドは、サーバが正常でないことを報告し、正常でない情報を報告します。
情報によっては、急速に正常範囲から外れる情報もあるため、ヘルスチェックが複数回連続して失敗しない限り、アラートを発生させないようにしてください。
{% admonition type="info" name="注記" %}ヘルスチェックは[peer portメソッド](index.md)であるため、[スタンドアロンモード][]でサーバをテストしているときは利用できません。{% /admonition %}
## リクエストのフォーマット
ヘルスチェック情報をリクエストするには、以下のHTTPリクエストを行ってください。
- **プロトコル:** https
- **HTTPメソッド:** GET
- **ホスト:** (任意の`rippled`サーバ(ホスト名またはIPアドレスによる))
- **ポート:** (`rippled`サーバがピアプロトコルを使用するポート番号、通常は51235です。)
- **パス:** `/health`
- **セキュリティ:** ほとんどの`rippled`サーバはリクエストにレスポンスするために自己署名証明書を使います。デフォルトでは、(Webブラウザを含む)ほとんどのツールは、そのようなレスポンスは信頼できないとしてフラグを立てたりブロックしたりします。これらのサーバからのレスポンスを表示するには、証明書のチェックを無視しなければなりません (たとえば、cURLを使用している場合は`--insecure`フラグを追加します)。
<!-- TODO: link a tutorial for how to run rippled with a non-self-signed TLS cert -->
## レスポンスの例
{% tabs %}
{% tab label="Healthy" %}
```json
HTTP/1.1 200 OK
Server: rippled-1.6.0-b8
Content-Type: application/json
Connection: close
Transfer-Encoding: chunked
{
"info": {}
}
```
{% /tab %}
{% tab label="Warning" %}
```json
HTTP/1.1 503 Service Unavailable
Server: rippled-1.6.0
Content-Type: application/json
Connection: close
Transfer-Encoding: chunked
{
"info": {
"server_state": "connected",
"validated_ledger": -1
}
}
```
{% /tab %}
{% tab label="Critical" %}
```json
HTTP/1.1 500 Internal Server Error
Server: rippled-1.6.0
Content-Type: application/json
Connection: close
Transfer-Encoding: chunked
{
"info": {
"peers": 0,
"server_state": "disconnected",
"validated_ledger":-1
}
}
```
{% /tab %}
{% /tabs %}
## レスポンスのフォーマット
レスポンスのHTTPステータスコードは、サーバの状態を示します。
| ステータスコード | 現在の状態 | 説明 |
|:------------------------------|:--------------|:-----------------------------|
| **200 OK** | Healthy | すべての指標は許容範囲内です。 |
| **503 Service Unavailable** | Warning | 1つ以上の指標が警告範囲にあります。手動介入が必要な場合と不要な場合があります。 |
| **500 Internal Server Error** | Critical | 1つ以上のメトリクスが深刻な範囲にあります。おそらく手動による修正が必要な深刻な問題があります。 |
レスポンスボディは JSON オブジェクトで、トップレベルに `info`オブジェクトが 1 つあります。`info`オブジェクトには、warningまたはcriticalの範囲にある指標ごとの値が含まれます。正常な範囲にある指標は省略されるため、完全に正常なサーバは空のオブジェクトを持ちます。
`info`オブジェクトは以下のフィールドを含むことができます。
| `Field` | 値 | 説明 |
|:--------------------|:------|:---------------------------------------------|
| `amendment_blocked` | 真偽値 | _(省略される場合があります)_ `true`の場合、サーバは[amendmentブロック](../../../concepts/networks-and-servers/amendments.md#amendment-blocked-servers)状態で、ネットワークとの同期を維持するためにアップグレードする必要があります。この状態は非常に重要です。サーバがAmendmentブロックされていない場合、このフィールドは省略されます。 |
| `load_factor` | 数値 | _(省略される場合があります)_ サーバが受けている全体的な負荷の指標。I/O、CPU、メモリの制限が反映されます。負荷率が100以上の場合はwarning、1000以上の場合はcriticalです。 |
| `peers` | 数値 | _(省略される場合があります)_ このサーバが接続している[ピアサーバ](../../../concepts/networks-and-servers/peer-protocol.md)の数。7つ以下のピアに接続されている場合はwarning、0つのピアに接続されている場合はcriticalです。 |
| `server_state` | 文字列 | _(省略される場合があります)_ 現在の[サーバの状態](../api-conventions/rippled-server-states.md)。サーバの状態が`tracking``syncing``connected`の場合はwarningです。サーバが`disconnected`状態の場合はcriticalです。 |
| `validated_ledger` | 数値 | _(省略される場合があります)_ レジャーが最後に[コンセンサス](../../../concepts/consensus-protocol/index.md)によって検証されてから何秒経ったかを表します。検証されたレジャーがない場合([サーバ起動時の初期同期期間](../../../infrastructure/troubleshooting/server-doesnt-sync.md#normal-syncing-behavior))、この値は`-1`となり、warningとみなされます。また、最後に検証されたレジャーが少なくとも7秒前であればwarningとなり、最後に検証されたレジャーが少なくとも20秒前であればcriticalとなります。 |
## 関連項目
ヘルスチェックの結果を判断するガイダンスについては、[ヘルスチェックの導入](../../../infrastructure/troubleshooting/health-check-interventions.md)をご覧ください。
{% raw-partial file="/docs/_snippets/common-links.md" /%}

View File

@@ -0,0 +1,12 @@
---
html: peer-port-methods.html
parent: http-websocket-apis.html
metadata:
indexPage: true
---
# ピアポートメソッド
ネットワークトポロジーやステータスメトリクスを共有するための特別なAPIメソッドです。
{% child-pages /%}

View File

@@ -0,0 +1,86 @@
---
html: peer-crawler.html
parent: peer-port-methods.html
seo:
description: ネットワークの情報とステータスの統計を共有するための特別なAPIメソッドです。
labels:
- コアサーバ
- ブロックチェーン
---
# ピアクローラ
ピアクローラは、ピアツーピアネットワークの健全性と統計情報を報告するための特別な[peer portメソッド](index.md)です。このAPIメソッドは、デフォルトでは[ピアプロトコル](../../../concepts/networks-and-servers/peer-protocol.md)のポートを通して非rootベースで利用可能で、コンセンサスやレジャーの履歴、その他の必要な情報についての`rippled`サーバのピアツーピア通信にも使用されます。
ピアクローラによって報告された情報は事実上公開され、XRP Ledgerのネットワーク全体やその健全性、統計情報について報告するために使用することができます。
## リクエストのフォーマット
ピアクローラ情報をリクエストするには、以下のHTTPリクエストを送信します。
- **プロトコル:** https
- **HTTPメソッド:** GET
- **ホスト:** (任意の`rippled`サーバ(ホスト名またはIPアドレス))
- **ポート:** (`rippled`サーバがピアプロトコルを使用するポート番号、通常は51235です。)
- **パス:** `/crawl`
- **セキュリティ:** ほとんどの`rippled`サーバはリクエストにレスポンスするために自己署名証明書を使います。デフォルトでは、(ウェブブラウザを含む)ほとんどのツールは、そのようなレスポンスは信頼できないとしてフラグを立てたりブロックしたりします。これらのサーバからのレスポンスを表示するには、証明書のチェックを無視しなければなりません(たとえば、cURLを使用している場合は`--insecure`フラグを追加します)。
## レスポンスのフォーマット
レスポンスにはステータスコード**200 OK**とメッセージ本文にJSONオブジェクトがあります。
JSONオブジェクトは次のフィールドを含んでいます。
| `フィールド` | 値 | 説明 |
|:-----------------|:-----------|:-------------------------------------------------|
| `counts` | オブジェクト | _(省略可)_ [get_countsメソッド][]のレスポンスと同じように、このサーバの状態に関する統計情報を返します。デフォルトの設定では、このフィールドは報告されません。報告される情報には、レジャーデータベースとトランザクションデータベースのサイズ、アプリケーション内キャッシュのキャッシュヒット率、さまざまな種類のオブジェクトがメモリにキャッシュされている数などがあります。メモリに保存されるオブジェクトの種類には、レジャー(`Ledger`)、トランザクション(`STTx`)、検証メッセージ (`STValidation`)などがあります。 |
| `overlay` | オブジェクト | _(省略可)_ [peersメソッド][]のレスポンスに似ています。`active`というフィールドがあり、これはオブジェクトの配列です(下記参照)。 |
| `server` | オブジェクト | _(省略可)_ このサーバに関する情報。[server_stateメソッド][]の公開フィールドを含みます。どの`rippled`バージョン(`build_version`)か、どの[レジャーバージョン](../../../concepts/networks-and-servers/ledger-history.md)が利用可能か(`complete_ledgers`)、サーバの負荷量などです。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.2.1" %}更新: rippled 1.2.1{% /badge %}. |
| `unl` | オブジェクト | _(省略可)_ [validatorsメソッド][]や[validator_list_sitesメソッド][]のレスポンスと同様です。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.2.1" %}更新: rippled 1.2.1{% /badge %}. |
| `version` | 数値 | このピアクローラのレスポンスのフォーマットのバージョンを示します。現在のピアクローラのバージョン番号は`2`です。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.2.1" %}更新: rippled 1.2.1{% /badge %}. |
`overlay.active`配列の各メンバーは、次のフィールドを持つオブジェクトです。
| `Field` | 値 | 説明 |
|:-------------------|:-----------------------|:-----------------------------------|
| `complete_ledgers` | 文字列 | このピアで利用可能な[レジャーバージョン](../../../concepts/networks-and-servers/ledger-history.md)の範囲。 |
| `complete_shards` | 文字列 | _(省略可)_ このピアが利用可能な[レジャー履歴シャード](../../../infrastructure/configuration/data-retention/history-sharding.md)の範囲。 |
| `ip` | 文字列 (IPv4アドレス) | _(省略可)_この接続ピアの IPアドレス。ピアがバリデータまたは[プライベートピア](../../../concepts/networks-and-servers/peer-protocol.md#プライベートピア)として設定されている場合は省略されます。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.2.1" %}更新: rippled 1.2.1{% /badge %}. |
| `port` | 文字列 (数値) | _(省略可)_ RTXPを提供するピアサーバのポート番号。通常は`51235`。ピアがバリデータまたは[プライベートピア](../../../concepts/networks-and-servers/peer-protocol.md#プライベートピア)として設定されている場合は省略されます。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.2.1" %}更新: rippled 1.2.1{% /badge %}. |
| `public_key` | 文字列 (Base64エンコード) | このピアがRTXPメッセージに署名するために使用するECDSA鍵ペアの公開鍵。(これはピアサーバの[server_infoメソッド][]で報告される`pubkey_node`と同じデータです)。 |
| `type` | 文字列 | `in`または`out`の値で、ピアへのTCP接続が着信か発信かを示します。 |
| `uptime` | 数値 | サーバがこのピアに接続している秒数。 |
| `version` | 文字列 | 相手が使用していると報告した`rippled`バージョン番号。 |
#### 例
リクエスト:
{% tabs %}
{% tab label="HTTP" %}
```
GET https://localhost:51235/crawl
```
{% /tab %}
{% tab label="cURL" %}
```
curl --insecure https://localhost:51235/crawl
```
{% /tab %}
{% /tabs %}
レスポンス:
{% code-snippet file="/_api-examples/peer-crawler/crawl.json" language="json" prefix="200 OK\n\n" /%}
## 関連項目
- [ピアプロトコル](../../../concepts/networks-and-servers/peer-protocol.md)
- [ピアクローラの設定](../../../infrastructure/configuration/peering/configure-the-peer-crawler.md)
- [Validator History Service](https://github.com/ripple/validator-history-service)は、検証関連データの取り込み、集計、保存、配布にピアクローラを使用するサービスの一例です。
{% raw-partial file="/docs/_snippets/common-links.md" /%}

View File

@@ -0,0 +1,121 @@
---
html: validator-list.html
parent: peer-port-methods.html
seo:
description: 推奨バリデータリストを共有するための特別なAPIメソッド。
labels:
- コアサーバ
- ブロックチェーン
---
# バリデータリストメソッド
バリデータリストメソッドは特別なAPIエンドポイントで、`rippled`サーバが現在使用している信頼できるバリデータリストを取得します。これは多くの場合、サーバが信頼するバリデータの正確なリストを表します。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.5.0" %}新規: rippled 1.5.0{% /badge %}.
[ピアクローラ](peer-crawler.md)と同様に、バリデータリストメソッドはデフォルトで非root権限で[ピアプロトコル](../../../concepts/networks-and-servers/peer-protocol.md)ポートから利用できます。
## リクエストのフォーマット
バリデータリストの情報をリクエストするには、以下のHTTPリクエストを実行します。
- **プロトコル:** https
- **HTTPメソッド:** GET
- **ホスト:** (任意の`rippled`サーバ(ホスト名またはIPアドレス))
- **ポート:** (`rippled`サーバがピアプロトコルを使用するポート番号)
- **パス:** `/vl/{public_key}`
`{public_key}`はリスト発行者の公開鍵で、16進数です。この鍵は発行者を識別し、リストの内容が真正で完全であることを確認するためにも使われます。
- **セキュリティ:** ほとんどの`rippled`サーバはリクエストにレスポンスするために自己署名したTLS証明書を使います。デフォルトでは、(Webブラウザを含む)ほとんどのツールはそのようなレスポンスが信頼できないものであるとしてフラグを立てたりブロックしたりします。これらのサーバからのレスポンスを表示するには、証明書のチェックを無視しなければなりません(たとえばcURLを使う場合は`--insecure`フラグを追加します)。
バリデータリストの内容は別の暗号鍵で署名されているので、使用するTLS証明書にかかわらずその完全性を検証できます。
## レスポンスのフォーマット
レスポンスにはステータスコード **200 OK** とメッセージボディにJSONオブジェクトがあります。レスポンスボディは、<https://vl.ripple.com/>のようなバリデータリストサイトで使われる書式に非常によく似ています。
JSONオブジェクトには以下のフィールドがあります。
| `Field` | 値 | 説明 |
|:-----------------|:------|:-------------------------------------------------|
| `manifest` | 文字列 | リスト発行者の[マニフェストデータ](#マニフェストデータ)をbase64または16進数で表します。 |
| `blob` | 文字列 | バリデータリストを表すBase64エンコードされたJSONデータ。 |
| `signature` | 文字列 | 16進数で表した`blob`データの署名。 |
| `version` | 数値 | このオブジェクトが使用するバリデータリストプロトコルのバージョン。現在のバージョンは **1** です。それ以上のバージョン番号は、バリデータリストプロトコルの以前のバージョンとの下位互換性を表します。 |
| `public_key` | 文字列 | このバリデータリストのデータを検証するために使用する公開鍵。これは32バイトのEd25519公開鍵で、先頭に`0xED`というバイトが付きます。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.7.0" %}新規: rippled 1.7.0{% /badge %}. |
### マニフェストデータ
[[ソース]](https://github.com/XRPLF/rippled/blob/97712107b71a8e2089d2e3fcef9ebf5362951110/src/ripple/app/misc/impl/Manifest.cpp#L43-L66 "ソース")
"マニフェスト"には、コンセンサスプロセスに関与する個人または組織(***バリデータ**または**リスト発行者**)を一意に識別する情報が含まれます。バリデータのマニフェストには、その[バリデータのトークン](../../../infrastructure/configuration/server-modes/run-rippled-as-a-validator.md#3-enable-validation-on-your-rippled-server)の _公開_ 情報が含まれます。リスト発行者のマニフェストはリスト発行者に関する情報を提供します。どちらも通常、XRP Ledgerの標準的な[バイナリフォーマット](../../protocol/binary-format.md)でバイナリにエンコードされます。(マニフェストの標準的なJSON形式はありません)。
マニフェストの主な目的の1つは、バリデータ鍵のローテーションです。バリデータはそのエフェメラル鍵ペアを変更すると、新しいエフェメラル公開鍵を共有するために新しいマニフェストを発行します。バリデータは[コンセンサスプロセス](../../../concepts/consensus-protocol/index.md)の一部としてバリデーションに署名するためにエフェメラル鍵ペアを使用し、新しいマニフェストに署名するためにのみマスター鍵ペアを使用します。(マニフェストは、[バリデータ管理者が`rippled.cfg`設定ファイルに追加する](../../../infrastructure/configuration/server-modes/run-rippled-as-a-validator.md#3-enable-validation-on-your-rippled-server)プライベートデータと一緒にバリデータトークンに組み込まれます)。
マニフェストでエンコードされるデータは次のとおりです。
| `Field` | 内部の型 | 説明 |
|:--------------------|:--------------|:-----------------------------------------|
| `sfPublicKey` | Blob | この個人または組織を一意に識別するマスター公開鍵。これは33バイトのsecp256k1公開鍵か、32バイトのEd25519公開鍵の前に`0xED`というバイトを付加したものになります。 |
| `sfMasterSignature` | Blob | マスターキーペアからの、このマニフェストデータの署名。これにより、マニフェストの信頼性が証明されます。 |
| `sfSequence` | UInt32 | このマニフェストのシーケンス番号。番号が大きいほど新しいマニフェストであり、同じマスター公開鍵からの古いマニフェストはすべて無効になります。 |
| `sfVersion` | UInt16 | 使用されているマニフェスト形式を示すバージョン番号。数値が高いほど、以前のマニフェスト形式と比較して、変更点を含む新しいマニフェスト形式であることを示します。 |
| `sfDomain` | Blob | _(省略可)_ ASCIIエンコードされた、この個人または組織が所有するドメイン名。 |
| `sfSigningPubKey` | Blob | _(省略可)_ この個人または組織が現在使用している鍵ペアのエフェメラル公開鍵。これは33バイトのsecp256k1公開鍵でなければなりません。 |
| `sfSignature` | Blob | _(省略可)_ エフェメラルキーペアからのこのマニフェストデータの署名。 |
`sfMasterSignature``sfSignature`の署名は、署名フィールド(`sfMasterSignature``sfSignature`)自体を除いて、マニフェストの[シリアライズされた](../../protocol/binary-format.md)バイナリデータに署名することで作成されます。
### Blobデータ
base64から`blob`をデコードすると、以下のフィールドを持つJSONオブジェクトになります。
| `Field` | 値 | 解説 |
|:-------------|:-----|:-------------------------------------------------------|
| `sequence` | 数値 | このリスト固有のシーケンス番号。一度に最新のリストのみが有効です。 |
| `expiration` | 数値 | このリストが期限切れになる時間([Rippleエポック以降の経過秒数][])。 |
| `validators` | 配列 | 推奨されるバリデータのリスト。 |
`validators`配列の各メンバーは以下のフィールドを持っています。
| `Field` | 値 | 説明 |
|:------------------------|:------|:------------------------------------------|
| `validation_public_key` | 文字列 | このバリデータを一意に識別するマスター公開鍵。 |
| `manifest` | 文字列 | このバリデータの[マニフェストデータ](#マニフェストデータ)をbase64または16進数で表します。 |
#### デコードされたBlobの例
{% code-snippet file="/_api-examples/vl/vl-blob.json" language="json" /%}
## 例
リクエスト:
{% tabs %}
{% tab label="HTTP" %}
```
GET https://localhost:51235/vl/ED2677ABFFD1B33AC6FBC3062B71F1E8397C1505E1C42C64D11AD1B28FF73F4734
```
{% /tab %}
{% tab label="cURL" %}
```
curl --insecure https://localhost:51235/vl/ED2677ABFFD1B33AC6FBC3062B71F1E8397C1505E1C42C64D11AD1B28FF73F4734
```
{% /tab %}
{% /tabs %}
レスポンス:
{% code-snippet file="/_api-examples/vl/vl.json" language="json" prefix="200 OK\n\n" /%}
## 関連項目
- [ピアプロトコル](../../../concepts/networks-and-servers/peer-protocol.md)
- [コンセンサス](../../../concepts/consensus-protocol/index.md)
{% raw-partial file="/docs/_snippets/common-links.md" /%}