最終更新:
編集

server_state

[ソース]

server_stateコマンドは、サーバに対しrippledサーバの現在の状態に関するさまざまな機械可読の情報を問い合わせます。レスポンスはserver_infoメソッドの場合とほぼ同じですが、読み取りやすい単位ではなく処理しやすい単位を使用します。(たとえば、XRP値は科学的記数法や10進数値の代わりに整数のdrop数で示され、時刻は秒単位ではなくミリ秒単位で示されます。)

The Clio server 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).

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

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

{
  "id": 2,
  "command": "server_state",
  "ledger_index": "current"
}

試してみる>

リクエストはパラメーターをとりません。

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

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

{
  "id": 1,
  "result": {
    "state": {
      "build_version": "1.7.2",
      "complete_ledgers": "64572720-65887201",
      "io_latency_ms": 1,
      "jq_trans_overflow": "0",
      "last_close": {
        "converge_time": 3005,
        "proposers": 41
      },
      "load_base": 256,
      "load_factor": 256,
      "load_factor_fee_escalation": 256,
      "load_factor_fee_queue": 256,
      "load_factor_fee_reference": 256,
      "load_factor_server": 256,
      "peer_disconnects": "365006",
      "peer_disconnects_resources": "336",
      "peers": 216,
      "pubkey_node": "n9MozjnGB3tpULewtTsVtuudg5JqYFyV3QFdAtVLzJaxHcBaxuXD",
      "server_state": "full",
      "server_state_duration_us": "3588969453592",
      "state_accounting": {
        "connected": {
          "duration_us": "301410595",
          "transitions": "2"
        },
        "disconnected": {
          "duration_us": "1207534",
          "transitions": "2"
        },
        "full": {
          "duration_us": "3589171798767",
          "transitions": "2"
        },
        "syncing": {
          "duration_us": "6182323",
          "transitions": "2"
        },
        "tracking": {
          "duration_us": "43",
          "transitions": "2"
        }
      },
      "time": "2021-Aug-24 20:44:43.466048 UTC",
      "uptime": 3589480,
      "validated_ledger": {
        "base_fee": 10,
        "close_time": 683153081,
        "hash": "B52AC3876412A152FE9C0442801E685D148D05448D0238587DBA256330A98FD3",
        "reserve_base": 20000000,
        "reserve_inc": 5000000,
        "seq": 65887201
      },
      "validation_quorum": 33
    }
  },
  "status": "success",
  "type": "response"
}

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

stateオブジェクトには、以下のフィールドが含まれています。

Field説明
amendment_blocked真偽値(省略される場合があります)trueの場合、このサーバはAmendmentブロックの状態です。サーバがAmendmentブロックではない場合、レスポンスではこのフィールドが省略されます。
build_version文字列実行中のrippledバージョンのバージョン番号。
complete_ledgers文字列ローカルのrippledがデータベース内に有するレジャーバージョンのシーケンス番号の範囲を示す表現。例えば、「2500-5000,32570-7695432」のように互いに素なシーケンスの場合があります。サーバに完全なレジャーがない場合(例えば、ネットワークとの同期を始めたばかりの場合)、文字列emptyになります。
closed_ledgerオブジェクト(省略される場合があります)コンセンサスによって検証されていない、最新の閉鎖済みレジャーに関する情報。最新の検証済みレジャーが使用可能な場合、レスポンスではこのフィールドは省略され、代わりにvalidated_ledgerが含まれます。メンバーフィールドはvalidated_ledgerフィールドと同じです。
io_latency_ms数値I/O処理の待機に費やされた時間数(ミリ秒単位)。この数値が極端に低くない場合、rippledサーバでは深刻な負荷の問題が発生している可能性があります。
jq_trans_overflow文字列-数値Tこのサーバが一度に処理待ちのトランザクションが250回を超えた回数(起動以来)。この数値が大きい場合、サーバがXRP Ledgerネットワークのトランザクション負荷に対応できていない可能性があります。将来を見据えたサーバの詳細な推奨仕様については、容量の計画をご覧ください
last_closeオブジェクトサーバが最後にレジャーを閉鎖したときの情報。これには、コンセンサスの取得に要した時間や、参加した信頼できるバリデータ(検証者)の数が含まれます。
last_close.converge_time数値直近で検証されたレジャーバージョンでコンセンサスに達するまでにかかった時間(ミリ秒)。
last_close.proposers数値直近に検証されたレジャーバージョンのコンセンサスプロセスで、サーバが考慮した信頼できるバリデータの数(バリデータとして設定されている場合は自分自身を含む)。
loadオブジェクト(管理者専用) サーバの現在の負荷状態についての詳細な情報。
load.job_types配列(管理者専用) サーバが実行している各種ジョブのレートや、各ジョブに要する時間についての情報。
load.threads数値(管理者専用) サーバの主要なジョブプール内のスレッド数。
load_base整数トランザクションコストの計算で使用されるサーバ負荷のベースライン量です。load_factorload_baseと同等の場合、基本トランザクションコストのみが適用されます。load_factorload_baseよりも大きい場合、トランザクションコストにそれらの値の比率が乗算されます。たとえばload_factorload_baseの2倍である場合、トランザクションコストは2倍になります。
load_factor数値サーバが現在適用している負荷係数。トランザクションコストの乗数は、この値とload_baseの比率によって決まります。負荷係数は、個別サーバの最も高い負荷係数、クラスターの負荷係数、オープンレジャーコスト、およびネットワーク全体の負荷係数によって決定します。
load_factor_fee_escalation整数(省略される場合があります)オープンレジャーに入るときにトランザクションコストに適用される現在の乗数(手数料レベル)。
load_factor_fee_queue整数(省略される場合があります)キューが一杯になっている場合に、キューへ入るときにトランザクションコストに適用される現在の乗数(手数料レベル)。
load_factor_fee_reference整数(省略される場合があります)負荷スケーリングのないトランザクションコスト手数料レベル)。
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数値サーバが現在の状態になってから経過した連続マイクロ秒数。新規: rippled 1.2.0
state_accountingオブジェクト各種サーバ状態のマップと、サーバが各状態に費やした時間についての情報。これは、サーバのネットワーク接続性の健全性を長期的に追跡するのに便利です。
state_accounting.*.duration_us文字列サーバがこの状態になってから経過したマイクロ秒数。(サーバが別の状態に移行するたびに更新されます。)
state_accounting.*.transitions数値サーバがこの状態に移行した回数。
time文字列サーバの時計によるUTCでの現在時刻。
uptime数値サーバが連続稼働している秒数。
validated_ledgerオブジェクト(省略される場合があります)完全に検証された最新のレジャーについての情報。最新の検証済みレジャーが使用できない場合、このフィールドはレスポンスで省略され、代わりにclosed_ledgerが含まれます。
validated_ledger.base_fee符号なし整数ネットワークへのトランザクション伝達にかかる基本手数料(XRPのdrop数)。
validated_ledger.close_time数値レジャーが閉鎖された時刻(Rippleエポック以降の経過秒数
validated_ledger.hash文字列当該レジャーバージョンの一意のハッシュ(16進数)
validated_ledger.reserve_base符号なし整数すべてのアカウントで準備金として保有する必要がある最小額(XRPのdrop数)
validated_ledger.reserve_inc符号なし整数アカウントがレジャー内に保有する各アイテムのアカウント準備金に追加する額(XRPのdrop数)。
validated_ledger.seq符号なし整数このレジャーの一意のシーケンス番号
validation_quorum数値1つのレジャーバージョンの検証に最低限必要となる信頼できる検証の数。状況によっては、サーバがさらに検証をリクエストする場合があります。
validator_list_expires数値(管理者専用) 現在のバリデータリストが期限切れになる時点(Rippleエポック以降の経過秒数)。サーバが発行済みのバリデータリストをロードしていない場合は0。

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でしか到達できないかもしれません。

考えられるエラー