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_factor がload_base と同等の場合、基本トランザクションコストのみが適用されます。load_factor がload_base よりも大きい場合、トランザクションコストにそれらの値の比率が乗算されます。たとえばload_factor がload_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コマンドを待ち受けているポートの一覧。配列の各エントリはポート記述子オブジェクト となります。 |
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.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のws 、ws2 、wss 、wss2 、gRPCのgrpc 、XRP Ledgerピアプロトコルのpeer があります。 |
注記
ネットワークインフラによっては、ここで報告されるポートやプロトコルが、外部のネットワークからサーバに到達する方法と一致しないことがあります。例えば、TLSがロードバランサやプロキシで終了する場合、サーバはあるポートで
http
と報告するかもしれませんが、外部からはポート443のhttps
でしか到達できないかもしれません。考えられるエラー
- 汎用エラータイプのすべて。