レスポンスのフォーマット
rippled
APIからのレスポンスのフォーマットは、メソッドが呼び出されたインターフェイス(WebSocket、JSON-RPC、コマンドライン)に応じて多少異なります。コマンドラインインターフェイスがJSON-RPCを呼び出すため、コマンドラインインターフェイスとJSON-RPCインターフェイスは同じフォーマットを使用します。
成功した場合のレスポンスに含まれるフィールドは、以下の通りです。
Field | 型 | 説明 |
---|---|---|
id | (場合により異なる) | (WebSocketのみ)このレスポンスのリクエスト元となったリクエストで指定されているID。 |
status | 文字列 | (WebSocketのみ)値がsuccess である場合、リクエストがサーバによって正常に受信され、理解されたことを示します。 |
result.status | 文字列 | (JSON-RPCおよびコマンドライン)値がsuccess である場合、リクエストがサーバによって正常に受信され、理解されたことを示します。 |
type | 文字列 | (WebSocketのみ)値がresponse の場合、コマンドに対する正常なレスポンスであることを示します。非同期の通知では、ledgerClosed やtransaction など異なる値が使用されます。 |
result | オブジェクト | クエリーの結果。内容はコマンドによって異なります。 |
warning | 文字列 | (省略可) このフィールドが存在する場合、値は文字列load です。これはクライアントがサーバがこのクライアントを切断するレートリミットの閾値に近づいていることを意味します。 |
warnings | 配列 | (省略可) このフィールドが存在する場合、重要な警告を含む1つ以上のWarningsオブジェクトが含まれます。詳細については、API警告をご覧ください。 |
forwarded | 真偽値 | (省略可) true の場合、このリクエストとレスポンスはレポートモードサーバからP2Pモードサーバに転送されます。デフォルトはfalse です。 |
成功した場合のレスポンスの例
{
"id": 2,
"status": "success",
"type": "response",
"result": {
"account_data": {
"Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"Balance": "27389517749",
"Flags": 0,
"LedgerEntryType": "AccountRoot",
"OwnerCount": 18,
"PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932",
"PreviousTxnLgrSeq": 6592159,
"Sequence": 1400,
"index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05"
},
"ledger_index": 6760970
}
}
APIの警告
レスポンスにwarnings
の配列が含まれる場合、その配列の各要素はサーバからの個別の警告を表します。このような警告オブジェクトはそれぞれ以下のフィールドを含みます:
フィールド | 型 | 説明 |
---|---|---|
id | 数値 | この警告メッセージの一意の数値コード。 |
message | 文字列 | このメッセージの原因を説明する人間が読める文字列。このメッセージの内容に依存するようなソフトウェアを書かないでください。代わりにid (およびdetails (もしあれば))を使って警告を識別してください。 |
details | オブジェクト | (省略可) この警告に関する追加情報。内容は警告の種類によって異なります。 |
以下の資料では、考えられるすべての警告について説明しています。
1001. Unsupported amendments have reached majority
警告の例:
"warnings" : [
{
"details" : {
"expected_date" : 864030,
"expected_date_UTC" : "2000-Jan-11 00:00:30.0000000 UTC"
},
"id" : 1001,
"message" : "One or more unsupported amendments have reached majority. Upgrade to the latest version before they are activated to avoid being amendment blocked."
}
]
この警告は、XRP Ledgerプロトコルの1つ以上のAmendmentが有効になる予定であるが、現在のサーバにはそれらのAmendmentの実装がないことを示しています。これらのAmendmentが有効になると、現在のサーバはAmendmentブロックされるため、できるだけ早く最新のrippled
バージョンにアップグレードする必要があります。
サーバは、この警告を送信するのは、クライアントが管理者として接続している場合のみです。
この警告には、以下のフィールドを含むdetails
フィールドが含まれます。
フィールド | 型 | 説明 |
---|---|---|
expected_date | 数値 | サポートされていない最初のAmendmentが有効になると予想される時刻([リップルエポックからの秒数][])。 |
expected_date_UTC | 文字列 | サポートされていない最初のAmendmentが有効になると予想される時刻(UTCでのタイムスタンプ)。 |
レジャーのクローズ時間の変動により、これらはおおよその時刻となります。また、指定された時刻までにAmendmentが80%以上のバリデータからサポートされ続けない場合、Amendmentが有効にならず、期待された時刻にAmendmentが有効にならない可能性があります。サポートされていないAmendmentが有効にならない限り、サーバはAmendmentブロックされません。
1002. This server is amendment blocked
警告の例:
"warnings" : [
{
"id" : 1002,
"message" : "This server is amendment blocked, and must be updated to be able to stay in sync with the network."
}
]
この警告は、サーバがAmendmentブロックされ、同期を取ることができなくなったことを示しています。
サーバの管理者は、アクティブ化されたAmendmentをサポートするバージョンにrippled
をアップグレードする必要があります。
1003. This is a reporting server
警告の例:
"warnings" : [
{
"id" : 1003,
"message" : "This is a reporting server. The default behavior of a reporting server is to only return validated data. If you are looking for not yet validated data, include \"ledger_index : current\" in your request, which will cause this server to forward the request to a p2p node. If the forward is successful the response will include \"forwarded\" : \"true\""
}
]
この警告は、リクエストに応答するサーバがレポートモードで実行されていることを示しています。レポートモードはピアツーピアネットワークに接続せず、まだ検証されていないレジャーデータを追跡しないため、一部のAPIメソッドが利用できないか、異なる動作をすることがあります。
一般的に、この警告は無視しても安全です。
関連項目
- リクエストのフォーマット
- エラーのフォーマット: APIレスポンスの失敗
- コンセプト:
- チュートリアル:
- リファレンス: