ピアクローラ
ピアクローラは、ピアツーピアネットワークの健全性と統計情報を報告するための特別なpeer portメソッドです。このAPIメソッドは、デフォルトではピアプロトコルのポートを通して非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 )か、どのレジャーバージョンが利用可能か(complete_ledgers )、サーバの負荷量などです。 |
unl | オブジェクト | (省略可) validatorsメソッドやvalidator_list_sitesメソッドのレスポンスと同様です。 |
version | 数値 | このピアクローラのレスポンスのフォーマットのバージョンを示します。現在のピアクローラのバージョン番号は2 です。 |
overlay.active
配列の各メンバーは、次のフィールドを持つオブジェクトです。
Field | 値 | 説明 |
---|---|---|
complete_ledgers | 文字列 | このピアで利用可能なレジャーバージョンの範囲。 |
complete_shards | 文字列 | (省略可) このピアが利用可能なレジャー履歴シャードの範囲。 |
ip | 文字列 (IPv4アドレス) | _(省略可)_この接続ピアの IPアドレス。ピアがバリデータまたはプライベートピアとして設定されている場合は省略されます。 |
port | 文字列 (数値) | (省略可) RTXPを提供するピアサーバのポート番号。通常は51235 。ピアがバリデータまたはプライベートピアとして設定されている場合は省略されます。 |
public_key | 文字列 (Base64エンコード) | このピアがRTXPメッセージに署名するために使用するECDSA鍵ペアの公開鍵。(これはピアサーバのserver_infoメソッドで報告されるpubkey_node と同じデータです)。 |
type | 文字列 | in またはout の値で、ピアへのTCP接続が着信か発信かを示します。 |
uptime | 数値 | サーバがこのピアに接続している秒数。 |
version | 文字列 | 相手が使用していると報告したrippled バージョン番号。 |
例
リクエスト:
GET https://localhost:51235/crawl
レスポンス:
200 OK
{
"overlay": {
"active": [
{
"complete_ledgers": "45498918-45500918",
"ip": "88.99.137.170",
"port": "51235",
"public_key": "AkU+AY9FWh8AXMc43fAUM69SzfAMGat0d/N+qx3kD6Dg",
"type": "out",
"uptime": 208,
"version": "rippled-1.2.1"
},
{
"complete_ledgers": "45500790-45500918",
"ip": "198.13.58.221",
"port": "51235",
"public_key": "AlQvJAlNDYtoBSaZCXM0pT5RWvdOW9QhMW5++mHswkej",
"type": "out",
"uptime": 208,
"version": "rippled-1.2.0"
},
{
"complete_ledgers": "45500662-45500918",
"ip": "52.90.101.104",
"port": "51235",
"public_key": "AkA04ujnwMn8mRyfJg4K7vzcQSOG7FHq4wUg60OQWnCY",
"type": "out",
"uptime": 209,
"version": "rippled-1.2.1"
},
{
"complete_ledgers": "45500662-45500918",
"ip": "54.202.12.93",
"port": "51235",
"public_key": "AxoekFvFYzELGty9cqiXZB+NsOWTZ0Qs9mFIw69CGb3d",
"type": "out",
"uptime": 209,
"version": "rippled-1.2.1"
},
{
"complete_ledgers": "45498918-45500918",
"ip": "173.255.240.113",
"port": "51235",
"public_key": "A4lWBMIDEQrO8Eerp9Hj3rFacbV0FiID3wTIx8Aoplq2",
"type": "out",
"uptime": 209,
"version": "rippled-1.1.0"
},
{
"complete_ledgers": "45499894-45500918",
"ip": "54.186.73.52",
"port": "51235",
"public_key": "AjikFnq0P2XybCyREr2KPiqXqJteqwPwVRVbVK+93+3o",
"type": "out",
"uptime": 209,
"version": "rippled-1.2.1"
},
{
"complete_ledgers": "45499894-45500918",
"ip": "54.186.248.91",
"port": "51235",
"public_key": "A4A4TPA17KlUjstp7fcL0qaWd4X+fvZ5MTxG5P5AggHW",
"type": "out",
"uptime": 209,
"version": "rippled-1.2.1"
},
{
"complete_ledgers": "45490918-45500918",
"ip": "162.243.114.118",
"port": "51235",
"public_key": "AufDkW4E1DOxjzRPj46Eu+AyJdsakUeJTz3xklv1kCfp",
"type": "out",
"uptime": 209,
"version": "rippled-1.2.1"
},
{
"complete_ledgers": "45498918-45500918",
"ip": "::ffff:45.56.78.201",
"port": "51235",
"public_key": "AmsXz4UUqjlz6iy8HHhZdHmBHteEBwYZLOHCHA4puCwj",
"type": "out",
"uptime": 209,
"version": "rippled-1.1.0"
},
{
"complete_ledgers": "32570-45500918",
"ip": "169.55.164.30",
"port": "51235",
"public_key": "Aw7J0CVhFKt0h6PDEpqu6t4LbPY0PsX8jCFbvSQFDOkW",
"type": "out",
"uptime": 209,
"version": "rippled-1.2.1"
}
]
},
"server": {
"build_version": "1.2.1",
"complete_ledgers": "45500881-45500888",
"io_latency_ms": 1,
"jq_trans_overflow": "0",
"last_close": {
"converge_time": 3002,
"proposers": 25
},
"load_base": 256,
"load_factor": 256,
"load_factor_fee_reference": 256,
"load_factor_server": 256,
"peer_disconnects": "0",
"peer_disconnects_resources": "0",
"peers": 10,
"pubkey_node": "n9MJZBu5HyxyEq8xPGBxXFTfT3uzdnNsvR6R1NyXxbEzt79SrZJE",
"published_ledger": 45500888,
"server_state": "full",
"server_state_duration_us": "40756665",
"state_accounting": {
"connected": {
"duration_us": "163459544",
"transitions": 1
},
"disconnected": {
"duration_us": "2539592",
"transitions": 1
},
"full": {
"duration_us": "40756665",
"transitions": 1
},
"syncing": {
"duration_us": "5071794",
"transitions": 1
},
"tracking": {
"duration_us": "1",
"transitions": 1
}
},
"time": "2019-Mar-02 01:48:50.912360",
"uptime": 213,
"validated_ledger": {
"close_time": 604806530,
"hash": "00415B0ECF1D31E8DC9A7DCB04CAF1FD47E61D4D9D047743C1508CDBD36576CE",
"reserve_base": 20000000,
"reserve_inc": 5000000,
"seq": 45500918
}
},
"unl": {
"local_static_keys": [],
"publisher_lists": [
{
"available": true,
"expiration": "2019-Mar-06 00:00:00.000000000",
"pubkey_publisher": "ED2677ABFFD1B33AC6FBC3062B71F1E8397C1505E1C42C64D11AD1B28FF73F4734",
"seq": 47,
"uri": "https://vl.ripple.com",
"version": 1
}
],
"validator_list": {
"count": 1,
"expiration": "2019-Mar-06 00:00:00.000000000",
"status": "active"
},
"validator_sites": [
{
"last_refresh_status": "accepted",
"last_refresh_time": "2019-Mar-02 01:45:19.940242379",
"next_refresh_time": "2019-Mar-02 01:50:19.568004480",
"refresh_interval_min": 5,
"uri": "https://vl.ripple.com"
}
]
},
"version": 2
}
関連項目
- ピアプロトコル
- ピアクローラの設定
- Validator History Serviceは、検証関連データの取り込み、集計、保存、配布にピアクローラを使用するサービスの一例です。