最終更新:
編集

ピアクローラ

ピアクローラは、ピアツーピアネットワークの健全性と統計情報を報告するための特別な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)、サーバの負荷量などです。更新: rippled 1.2.1.
unlオブジェクト(省略可) validatorsメソッドvalidator_list_sitesメソッドのレスポンスと同様です。更新: rippled 1.2.1.
version数値このピアクローラのレスポンスのフォーマットのバージョンを示します。現在のピアクローラのバージョン番号は2です。更新: rippled 1.2.1.

overlay.active配列の各メンバーは、次のフィールドを持つオブジェクトです。

Field説明
complete_ledgers文字列このピアで利用可能なレジャーバージョンの範囲。
complete_shards文字列(省略可) このピアが利用可能なレジャー履歴シャードの範囲。
ip文字列 (IPv4アドレス)_(省略可)_この接続ピアの IPアドレス。ピアがバリデータまたはプライベートピアとして設定されている場合は省略されます。更新: rippled 1.2.1.
port文字列 (数値)(省略可) RTXPを提供するピアサーバのポート番号。通常は51235。ピアがバリデータまたはプライベートピアとして設定されている場合は省略されます。更新: rippled 1.2.1.
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
}

関連項目