最終更新:
編集

server_info (rippled)

[ソース]

server_infoコマンドは、問い合わせ中のrippledサーバについての各種情報を、人間が読めるフォーマットでサーバにリクエストします。Clioサーバについては、server_info (Clio)をご覧ください。

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

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

{
  "id": 1,
  "command": "server_info"
}

試してみる>

リクエストにパラメーターは何も含まれません。

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

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

{
    "id": 1,
    "result": {
      "info": {
        "build_version": "1.12.0",
        "complete_ledgers": "32570-82521701",
        "hostid": "LEST",
        "initial_sync_duration_us": "190181187",
        "io_latency_ms": 1,
        "jq_trans_overflow": "0",
        "last_close": {
          "converge_time_s": 3.001,
          "proposers": 35
        },
        "load_factor": 1,
        "network_id": 0,
        "peer_disconnects": "5",
        "peer_disconnects_resources": "0",
        "peers": 22,
        "ports": [
          {
            "port": "7777",
            "protocol": [
              "ws"
            ]
          },
          {
            "port": "8080",
            "protocol": [
              "ws"
            ]
          },
          {
            "port": "80",
            "protocol": [
              "http"
            ]
          },
          {
            "port": "51235",
            "protocol": [
              "peer"
            ]
          }
        ],
        "pubkey_node": "n9KQK8yvTDcZdGyhu2EGdDnFPEBSsY5wEgpU5GgpygTgLFsjQyPt",
        "server_state": "full",
        "server_state_duration_us": "91535211664",
        "state_accounting": {
          "connected": {
            "duration_us": "83091928",
            "transitions": "2"
          },
          "disconnected": {
            "duration_us": "104836801",
            "transitions": "2"
          },
          "full": {
            "duration_us": "91535211664",
            "transitions": "1"
          },
          "syncing": {
            "duration_us": "2252409",
            "transitions": "1"
          },
          "tracking": {
            "duration_us": "48",
            "transitions": "1"
          }
        },
        "time": "2023-Sep-13 22:08:48.097189 UTC",
        "uptime": 91725,
        "validated_ledger": {
          "age": 4,
          "base_fee_xrp": 0.00001,
          "hash": "5825332DC66029ECCD896CACB3BBB79E4F5372A8DCA91AA2874A1A1A87B79F84",
          "reserve_base_xrp": 10,
          "reserve_inc_xrp": 2,
          "seq": 82521701
        },
        "validation_quorum": 28
      }
    },
    "status": "success",
    "type": "response"
}

レスポンスは標準フォーマットに従い、結果が正常な場合infoオブジェクトが唯一のフィールドとして含まれます。

infoオブジェクトは以下のフィールドを含むことがあります。

Field説明
amendment_blocked真偽値(省略される場合があります)trueの場合、このサーバはAmendmentブロックの状態です。サーバがAmendmentブロックの状態でない場合、このフィールドはレスポンスから省略されます。
build_version文字列実行中のrippledのバージョン番号。
closed_ledgerオブジェクト(省略される場合があります)コンセンサスによってまだ検証されていない、最も最近更新を閉鎖したレジャーについての情報。最新の検証済みレジャーが使用可能な場合、このフィールドはレスポンスで省略され、代わりにvalidated_ledgerが含まれます。メンバーフィールドはvalidated_ledgerフィールドと同じです。
complete_ledgers文字列ローカルrippledがデータベース内に有するレジャーのバージョンのシーケンス番号の範囲を示す表現。例えば、24900901-24900984,24901116-24901158のように、互いに素なシーケンスの場合があります。サーバに完全なレジャーがない場合(例えば、ネットワークとの同期を始めたばかりの場合)、文字列emptyになります。
hostid文字列adminリクエストの場合、rippledインスタンスを実行するサーバのホスト名が返されます。それ以外のリクエストの場合、一意の4文字の単語が返されます。
io_latency_ms数値I/O処理の待ち時間(ミリ秒単位)。この数値がそれほど低くない場合、rippledサーバは深刻な負荷の問題を抱えている可能性があります。
jq_trans_overflow文字列-数値このサーバが一度に処理待ちのトランザクションが250回を超えた回数(起動以来)。この数値が大きい場合、サーバがXRP Ledgerネットワークのトランザクション負荷に対応できていない可能性があります。将来を見据えたサーバの詳細な推奨仕様については、容量の計画をご覧ください。
last_closeオブジェクトサーバが最後にレジャーを閉鎖したときの情報。これには、コンセンサスの取得に要した時間や、参加した信頼できるバリデータ(検証者)の数が含まれます。
last_close.converge_time_s数値直近で検証されたレジャーバージョンでコンセンサスに達するまでにかかった時間(秒)。
last_close.proposers数値直近に検証されたレジャーバージョンのコンセンサスプロセスで、サーバが考慮した信頼できるバリデータの数(バリデータとして設定されている場合は自分自身を含む)。
loadオブジェクト(管理者のみ) サーバの現在の負荷状態についての詳細な情報。
load.job_types配列(管理者のみ) サーバが実行している各種ジョブのレートや、各ジョブにかかる時間についての情報。
load.threads数値(管理者のみ) サーバの主要なジョブプール内のスレッドの数。
load_factor数値サーバが現在実行中の、負荷スケーリングされたオープンレジャートランザクションコストを、基本トランザクションコストに適用される乗数として示したもの。例えば、負荷係数1000でリファレンストランザクションコストが10 dropである場合、負荷スケーリングされたトランザクションコストは10,000 drop(0.01 XRP)です。負荷係数は、個々のサーバの負荷係数の最高値、クラスターの負荷係数、オープンレジャーコスト、ネットワーク全体の負荷係数によって決まります。
load_factor_local数値(省略される場合があります)このサーバに対する負荷に基づく、トランザクションコストに適用される現在の乗数。
load_factor_net数値(省略される場合があります)ネットワークのその他の部分で使用されている、トランザクションコストに適用される現在の乗数(他のサーバから報告された負荷値から推定します)。
load_factor_cluster数値(省略される場合があります)このクラスター内のサーバに対する負荷に基づく、トランザクションコストに適用される現在の乗数。
load_factor_fee_escalation数値(省略される場合があります)オープンレジャーに入るために取引が支払う必要があるトランザクションコストに適用される現在の乗数。
load_factor_fee_queue数値(省略される場合があります)キューが一杯になっている場合に、キューに入るために取引が支払う必要があるトランザクションコストに適用される現在の乗数。
load_factor_server数値(省略される場合があります)サーバが実施中の負荷係数。オープンレジャーコストは含まれません。
peers数値このサーバが現在接続している、他のrippledサーバの数。
ports配列サーバがAPIコマンドを待ち受けているポートの一覧。配列の各エントリはポート記述子オブジェクト となります。 新規: rippled 1.12.0
pubkey_node文字列ピアツーピア通信の中でこのサーバを検証するために使用する公開鍵。この ノードのキーペア は、サーバを初めて起動すると自動的に生成されます。(削除された場合、サーバは新たなキーペアを作成できます。)構成ファイルにて[node_seed]設定オプションを使用すると、永続値を設定できます。これはクラスター化に便利です。
pubkey_validator文字列(管理者のみ) このノードがレジャーの検証の署名に使用する公開鍵。この 検証キーペア は、[validator_token]または[validation_seed]設定フィールドにて生成されます。
reportingオブジェクト(レポートモードサーバのみ) このサーバのレポートモード固有の設定に関する情報。
reporting.etl_sources配列(レポートモードサーバのみ) このレポートモードがデータを取得するP2Pモードサーバのリスト。この配列の各エントリはETLソースオブジェクトです。
reporting.is_writer真偽値(レポートモードサーバのみ) trueの場合、このサーバは外部データベースにレジャーデータを書き込んでいます。falseの場合、他のレポートモードサーバが共有データベースにデータを書き込んでいるか、読み取り専用に設定されているため、現在は書き込んでいません。
reporting.last_publish_time文字列_(レポートモードサーバのみ)_このサーバが最後に有効なレジャーをサブスクリプションストリームに公開した日時を示すISO 8601タイムスタンプ。
server_state文字列サーバのネットワークへの参加の度合いを示す文字列。詳細は、考えられるサーバの状態をご覧ください。
server_state_duration_us数値サーバが現在の状態になってから経過したマイクロ秒数。
state_accountingオブジェクト各種サーバ状態のマップと、サーバが各状態に費やした時間についての情報。これは、サーバのネットワーク接続について長期的な健全性を追跡するのに便利です。
state_accounting.*.duration_us文字列サーバがこの状態になってから費やしたマイクロ秒数。(サーバが別の状態に移行するたびに更新されます。)
state_accounting.*.transitions文字列サーバがこの状態に移行した回数。
time文字列サーバの時計によるUTCでの現在時刻。
uptime数値サーバが連続して稼働している秒数。
validated_ledgerオブジェクト(省略される場合があります)完全に検証された最新のレジャーについての情報。最新の検証済みレジャーが使用できない場合、このフィールドはレスポンスにて省略され、代わりにclosed_ledgerが含まれます。
validated_ledger.age数値レジャーの閉鎖以降の秒数。
validated_ledger.base_fee_xrp数値XRP単位の基本手数料。0.00005の場合は、1e-05などの科学的記数法で表すことができます。
validated_ledger.hash文字列16進数で表された、レジャーの一意のハッシュ
validated_ledger.reserve_base_xrp符号なし整数すべてのアカウントで準備金として保有しておく必要があるXRPの最少額(drop数ではありません)
validated_ledger.reserve_inc_xrp符号なし整数アカウントがレジャー内に保有するオブジェクトごとのアカウント準備金に追加するXRP額(drop数ではありません)
validated_ledger.seq数値最新の検証済みレジャーのレジャーインデックス
validation_quorum数値レジャーバージョンの検証に、最低限必要となる信頼できる検証の数。場合によっては、サーバがさらに検証をリクエストする場合があります。
validator_list_expires文字列(管理者のみ) 現在のバリデータリストの有効期限が切れるタイミングを人間が読み取れる時間でを表示、または、サーバが発行済みのバリデータリストをロードしていない場合は文字列unknown、サーバが静的なバリデータリストを使用する場合は文字列neverのいずれかを表示します。

注記
closed_ledgerフィールドがあり、seqの値が小さい(8桁未満)場合、rippledには現在、ピアツーピアネットワークから取得した検証済みレジャーのコピーがないことを表しています。これは、サーバが現在も同期中である可能性を示しています。接続速度とハードウェア仕様にもよりますが、通常はネットワークとの同期に約5分かかります。

ETLソースオブジェクト

レポートモードサーバでは、etl_sourcesフィールドの各メンバは以下のフィールドを持つオブジェクトです。

フィールド説明
connected真偽値trueの場合、レポートモードサーバがこのP2Pモードサーバに接続していることを示します。falseの場合、サーバに接続していないことを示します。これは設定ミスやネットワーク障害によるものか、P2Pモードサーバが停止している可能性があります。
grpc_port文字列このレポート モードサーバが接続し、gRPCを介してレジャーデータを取得するように設定されている P2P モード サーバのポート番号。
ip文字列P2PモードサーバのIPアドレス(IPv4またはIPv6)。
last_message_arrival_time文字列レポートモードサーバがこのP2Pサーバからメッセージを受信した最新の時刻を示すISO 8601タイムスタンプ。
validated_ledgers_range文字列complete_ledgersと同じ形式で、このP2Pモードサーバが利用可能であると報告する、有効なレジャーのバージョンの範囲。
websocket_port文字列このレポートモードサーバが、レポートモードから直接提供できないWebSocketリクエストを転送するように設定されているP2Pサーバのポート番号。

ポート記述子オブジェクト

ports配列の各メンバーは以下のフィールドを持つオブジェクトです。

フィールド説明
port文字列 - 数値サーバがリッスンしているポート番号。
protocol文字列の配列このポートに接続されているプロトコルの一覧。有効なプロトコルには、JSON-RPCのhttpまたはhttps、WebSocketのwsws2wsswss2gRPCgrpcXRP Ledgerピアプロトコルpeerがあります。

注記
ネットワークインフラによっては、ここで報告されるポートやプロトコルが、外部のネットワークからサーバに到達する方法と一致しないことがあります。例えば、TLSがロードバランサやプロキシで終了する場合、サーバはあるポートでhttpと報告するかもしれませんが、外部からはポート443のhttpsでしか到達できないかもしれません。

考えられるエラー