book_changes
book_changes
メソッドは、分散型取引所(DEX) のオーダーブックの変更に関する情報を、以前のレジャーバージョンと比較して提供します。これは「ローソク足」チャートの作成に役立つ場合があります。
リクエストのフォーマット
リクエストの例:
{ "id": "example_book_changes", "command": "book_changes", "ledger_index": 88530953 }
リクエストには以下のパラメーターが含まれます。
フィールド | 型 | 必須? | 説明 |
---|---|---|---|
ledger_hash | ハッシュ | いいえ | 使用するレジャーバージョンの32バイトの16進文字列。(詳しくはレジャーの指定をご覧ください。) |
ledger_index | レジャーインデックス | いいえ | 使用するレジャーのレジャーインデックス、または自動的にレジャーを選択するためのショートカット文字列。(レジャーの指定) |
既知の問題
rippled
のこのメソッドにいくつかの既知の問題があります。
- デフォルトまたはショートカット文字列を使用する代わりに、
ledger_index
またはledger_hash
を明示的に指定する必要があります。(Issue #5034) - JSON-RPC APIのレスポンスは、検証済みのレジャーをクエリする場合でも
validated
フィールドが欠落する可能性があります。(#5035) - 最近閉じたレジャーをクエリする場合、成功したレスポンスが意図したデータの代わりにレジャーリクエストオブジェクトを返すことがあります。(#5033)
- 古いレジャーからデータをクエリする場合、サーバーが長時間(30秒以上)応答しない可能性があります。(#5036)
これらのバグはClioサーバーには適用されません。
レスポンスのフォーマット
成功したレスポンスの例:
{ "result": { "type": "bookChanges", "ledger_hash": "7AB08A2415C10E07201521F3260F77ADFF4902A528EA66378E259A07767A24B9", "ledger_index": 88530953, "ledger_time": 771100891, "validated": true, "changes": [ { "currency_a": "XRP_drops", "currency_b": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/CNY", "volume_a": "44082741", "volume_b": "158.6978676", "high": "277777.7777777778", "low": "277777.7777777778", "open": "277777.7777777778", "close": "277777.7777777778" }, { "currency_a": "XRP_drops", "currency_b": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/XLM", "volume_a": "44191586", "volume_b": "217.6925474337355", "high": "202999.9948135647", "low": "202999.9948135647", "open": "202999.9948135647", "close": "202999.9948135647" }, { "currency_a": "XRP_drops", "currency_b": "rf5YPb9y9P3fTjhxNaZqmrwaj5ar8PG1gM/47414C4100000000000000000000000000000000", "volume_a": "100000000", "volume_b": "1242.61659179386", "high": "80475.34586323083", "low": "80475.34586323083", "open": "80475.34586323083", "close": "80475.34586323083" }, { "currency_a": "XRP_drops", "currency_b": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz/534F4C4F00000000000000000000000000000000", "volume_a": "33734", "volume_b": "0.1454210006367", "high": "231974.7481608686", "low": "231974.7481608686", "open": "231974.7481608686", "close": "231974.7481608686" }, { "currency_a": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/CNY", "currency_b": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", "volume_a": "158.6978670792", "volume_b": "21.76925474337", "high": "7.290000000001503", "low": "7.290000000001503", "open": "7.290000000001503", "close": "7.290000000001503" }, { "currency_a": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", "currency_b": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/XLM", "volume_a": "21.76925474337355", "volume_b": "217.6925474337355", "high": "0.1", "low": "0.1", "open": "0.1", "close": "0.1" } ] }, "id": "example_book_changes", "status": "success", "type": "response", "warnings": [ { "id": 2001, "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request" } ] }
このレスポンスは標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。
フィールド | 型 | 説明 |
---|---|---|
changes | 配列 | このレジャーバージョンで更新された各オーダーブックのBook Updateオブジェクトのリスト。オーダーブックが更新されなかった場合、配列は空になります。 |
ledger_hash | ハッシュ | このデータを取得する際に使用されたレジャーバージョンの識別ハッシュ。 |
ledger_index | レジャーインデックス | このデータを取得する際に使用されたレジャーバージョンのレジャーインデックス。 |
ledger_time | 数値 | このデータを取得する際に使用されたレジャーバージョンの公式クローズ時間。[リップルエポックからの秒数][]で表されます。 |
type | 文字列 | 文字列bookChanges 。これはオーダーブック更新メッセージであることを示します。 |
validated | 真偽値 | (省略可) true の場合、検証済みのレジャーバージョンから取得されたことを表します。 |
Book Updateオブジェクト
Book Updateオブジェクトは、1つのレジャーバージョンにおける1つのオーダーブックの変更を表し、次のフィールドを含みます。
フィールド | 型 | 説明 |
---|---|---|
currency_a | 文字列 | オーダーブック内の2つの通貨のうちの最初の通貨の識別子。XRPの場合、これは文字列XRP_drops です。トークンの場合、base58で表された発行者のアドレスの後にスラッシュ(/ )が続き、その後に通貨コードが続きます。これは3文字の標準コードまたは20文字の16進コードになります。 |
currency_b | 文字列 | オーダーブック内の2つの通貨のうちの2番目の通貨の識別子。これはcurrency_a と同じ形式ですが、currency_b はXRPになることはありません。 |
volume_a | 文字列 - 数値 | このレジャーバージョンでこのオーダーブックの取引を通じて移動した最初の通貨(つまりcurrency_a )の総量、または 取引高。 |
volume_b | 文字列 - 数値 | このレジャーバージョンでこのオーダーブックの取引を通じて移動した2番目の通貨(つまりcurrency_b )の取引高。 |
high | 文字列 - 数値 | このレジャーバージョンでこのオーダーブックの取引を通じてマッチしたすべてのオファーの中で最も高い取引レート。最初の通貨と2番目の通貨の比率として表されます。(つまり、currency_a : currency_b 。) |
low | 文字列 - 数値 | このレジャーバージョンでこのオーダーブックの取引を通じてマッチしたすべてのオファーの中で最も低い取引レート。最初の通貨と2番目の通貨の比率として表されます。 |
open | 文字列 - 数値 | このレジャーバージョンでこのオーダーブックの取引を処理する前のオーダーブックの最初の取引の取引レート。最初の通貨と2番目の通貨の比率として表されます。 |
close | 文字列 - 数値 | このレジャーバージョンでこのオーダーブックの取引を処理した後のオーダーブックの最初の取引の取引レート。最初の通貨と2番目の通貨の比率として表されます。 |
XRP-トークンのオーダーブックでは、XRPは常にcurrency_a
で表されます。トークン-トークンのオーダーブックでは、発行者と通貨コードでアルファベット順に並べ替えられます。
XRPに関する取引レートは常にXRPのdrop数を使用して計算されます。例えば、XRPからFOOへのレートが1.0 XRP に対して 1 FOOの場合、APIによって報告されたレートは1000000
(1 FOOあたり100万ドロップのXRP)になります。
考えられるエラー
- いずれかの汎用エラータイプ。
lgrNotFound
-ledger_hash
またはledger_index
で指定したレジャーが存在しないか、存在してはいるもののサーバが保有していません。invalidParams
- 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。