ledger_entry
ledger_entry
メソッドは、XRP Ledgerの1つのレジャーオブジェクトを生フォーマットで返します。取得可能な各種オブジェクトについては、レジャーフォーマットを参照してください。
注記: このメソッドのコマンドラインバージョンはありません。代わりにjsonメソッドを使用してコマンドラインからこのメソッドにアクセスできます。
要求フォーマット
要求フォーマットの例:
{
"id": 3,
"command": "ledger_entry",
"type": "account_root",
"account_root": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"ledger_index": "validated"
}
{
"method": "ledger_entry",
"params": [
{
"account_root": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"ledger_index": "validated",
"type": "account_root"
}
]
}
このメソッドでは各種データを取得できます。取得するアイテムのタイプを選択するには、当該のパラメーターを渡します。具体的には、以下のフィールドのいずれか1つを指定します。
index
- 一意のIDを指定して任意のタイプのレジャーオブジェクトを取得します。account_root
- AccountRootオブジェクトを取得します。これはaccount_infoメソッドとほぼ同等です。directory
- 他のレジャーオブジェクトのリストが含まれているDirectoryNodeを取得します。offer
- 通貨取引オファーを定義するOfferオブジェクトを取得します。ripple_state
- 2つのアカウント間の(XRP以外の)通貨の残高を追跡するRippleStateオブジェクトを取得します。check
- 受取人が現金化できる支払いであるCheckオブジェクトを取得します。escrow
- 特定の時刻または条件に一致するまでXRPを保有するEscrowオブジェクトを取得します。payment_channel
- 非同期支払いのためにXRPを保有するPayChannelオブジェクトを取得します。deposit_preauth
- Deposit Authorizationを必要とするアカウントへの支払いの事前承認を追跡するDepositPreauthオブジェクトを取得します。
上記のアイテムを複数指定すると、サーバーはそのうちの1つのみを取得します。どのアイテムが取得されるかは未定義です。
このメソッドで認識されるすべてのパラメーターのリストを次に示します。
Field |
型 | 説明 |
---|---|---|
index |
文字列 | (省略可) レジャーから取得する1つのオブジェクトのオブジェクトIDを指定します。 |
account_root |
文字列 - アドレス | (省略可) 取得するAccountRootオブジェクトを指定します。 |
check |
文字列 | (省略可) レジャーから取得するCheckオブジェクトのオブジェクトIDを指定します。 |
deposit_preauth |
オブジェクトまたは文字列 | (省略可) 取得するDepositPreauthオブジェクトを指定します。文字列の場合はDepositPreauthオブジェクトのオブジェクトID(16進数)である必要があります。オブジェクトの場合はowner およびauthorized サブフィールドが必要です。 |
deposit_preauth.owner |
文字列 - アドレス | (deposit_preauth がオブジェクトとして指定されている場合に必須) 事前承認を提供したアカウント。 |
deposit_preauth.authorized |
文字列 - アドレス | (deposit_preauth がオブジェクトとして指定されている場合に必須) 事前承認を受けたアカウント。 |
directory |
オブジェクトまたは文字列 | (省略可) 取得するDirectoryNodeを指定します。文字列の場合はディレクトリーのオブジェクトID(16進数)である必要があります。オブジェクトの場合はサブフィールドとしてdir_root またはowner のいずれかが必要です。また必要に応じてsub_index サブフィールドを指定できます。 |
directory.sub_index |
符号なし整数 | (省略可) 指定されている場合は、DirectoryNodeの後のページにジャンプします。 |
directory.dir_root |
文字列 | (directory がオブジェクトとして指定されており、directory.owner が指定されていない場合に必須) 取得するディレクトリーを識別する一意のインデックス(16進数)。 |
directory.owner |
文字列 | (directory がオブジェクトとして指定されており、directory.dir_root が指定されていない場合に必須) このディレクトリーに関連付けられているアカウントの一意のアドレス。 |
escrow |
オブジェクトまたは文字列 | (省略可) 取得するEscrowオブジェクトを指定します。文字列の場合はEscrowのオブジェクトID(16進数)である必要があります。オブジェクトの場合はowner およびseq サブフィールドが必要です。 |
escrow.owner |
文字列 - アドレス | (escrow がオブジェクトとして指定されている場合に必須) Escrowオブジェクトの所有者(送金元)。 |
escrow.seq |
符号なし整数 | (escrow がオブジェクトとして指定されている場合に必須) Escrowオブジェクトを作成したトランザクションのシーケンス番号。 |
offer |
オブジェクトまたは文字列 | (省略可) 取得するOffer オブジェクトを指定します。文字列の場合はOfferの一意のインデックスとして解釈されます。オブジェクトの場合は、オファーを一意に識別するためサブフィールドaccount とseq が必要です。 |
offer.account |
文字列 - アドレス | (offer が指定されている場合に必須) オファーを出したアカウント。 |
offer.seq |
符号なし整数 | (offer が指定されている場合に必須) Offerオブジェクトを作成したトランザクションのシーケンス番号。 |
payment_channel |
文字列 | (省略可) 取得するPayChannel オブジェクトのオブジェクトIDを指定します。 |
ripple_state |
オブジェクト | (省略可) 取得するRippleState(トラストライン)オブジェクトを指定するオブジェクト。取得するRippleStateエントリを一意に指定するため、accounts およびcurrency サブフィールドが必要です。 |
ripple_state.accounts |
配列 | (ripple_state が指定されている場合に必須) アカウントのアドレスからなる長さ2の配列。このRippleStateオブジェクトによりリンクされる2つのアカウントを定義します。 |
ripple_state.currency |
文字列 | (ripple_state が指定されている場合に必須) 取得するRippleStateオブジェクトの通貨コード。 |
binary |
ブール値 | (省略可) trueの場合、要求したレジャーオブジェクトの内容が16進文字列として返されます。それ以外の場合はデータがJSONフォーマットで返されます。デフォルトはfalse です。 |
ledger_hash |
文字列 | (省略可) 使用するレジャーバージョンの20バイトの16進文字列。(レジャーの指定を参照してください) |
ledger_index |
文字列または符号なし整数 | (省略可) 使用するレジャーのレジャーインデックス、またはレジャーを自動的に選択するためのショートカット文字列。(レジャーの指定を参照してください) |
generator
パラメーターとledger
パラメーターは廃止予定であり、今後予告なしに削除される可能性があります。
応答フォーマット
処理が成功した応答の例:
{
"id": 3,
"result": {
"index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05",
"ledger_index": 6889347,
"node": {
"Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"Balance": "27389517749",
"Flags": 0,
"LedgerEntryType": "AccountRoot",
"OwnerCount": 18,
"PreviousTxnID": "B6B410172C0B65575D89E464AF5B99937CC568822929ABF87DA75CBD11911932",
"PreviousTxnLgrSeq": 6592159,
"Sequence": 1400,
"index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05"
}
},
"status": "success",
"type": "response"
}
200 OK
{
"result": {
"index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05",
"ledger_index": 8696234,
"node": {
"Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
"Balance": "13176802787",
"Flags": 0,
"LedgerEntryType": "AccountRoot",
"OwnerCount": 17,
"PreviousTxnID": "E5D0235A236F7CD162C1AB87A0325056AE61CFC63D92D1494AB5D826AAD0CDCA",
"PreviousTxnLgrSeq": 8554742,
"Sequence": 1406,
"index": "4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05"
},
"status": "success",
"validated": true
}
}
この応答は標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。
Field |
型 | 説明 |
---|---|---|
index |
文字列 | このレジャーオブジェクトの一意のID。 |
ledger_index |
符号なし整数 | このデータの取得時に使用されたレジャーのレジャーインデックス。 |
node |
オブジェクト | ("binary": true が指定されている場合は省略)レジャーフォーマットに基づく、このレジャーオブジェクトのデータが含まれているオブジェクト。 |
node_binary |
文字列 | ("binary":true が指定されていない場合は省略可) レジャーオブジェクトのバイナリー表現(16進数)。 |
考えられるエラー
- いずれかの汎用エラータイプ。
deprecatedFeature
- 削除されたフィールド(generator
など)が要求に指定されていました。entryNotFound
- 要求されたレジャーオブジェクトはレジャーに存在しません。invalidParams
- 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。lgrNotFound
-ledger_hash
またはledger_index
で指定したレジャーが存在しないか、存在してはいるもののサーバーが保有していません。malformedAddress
- 要求のアドレスフィールドが誤って指定されています。malformedCurrency
- 要求の通貨コードフィールドが誤って指定されています。malformedOwner
- 要求のescrow.owner
サブフィールドが誤って指定されています。malformedRequest
- 要求にフィールドが無効な組み合わせで指定されているか、1つ以上のフィールドの型が誤っています。unknownOption
- 要求に指定されたフィールドが、予期される要求フォーマットのいずれにも一致していません。