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つ以上の必須フィールドが指定されていません。