ledger_entry
ledger_entry
メソッドは、XRP Ledgerの1つのレジャーオブジェクトを生フォーマットで返します。取得可能な各種オブジェクトについては、レジャーフォーマットをご覧ください。
リクエストのフォーマット
このメソッドは複数の異なる種類のデータを取得することができます。以下に記載されている一般的なフィールドと特定のタイプのフィールドで構成される適切なパラメータを渡し、標準のリクエストのフォーマットに従うことで、取得するアイテムの種類を選択できます。(例えば、WebSocketリクエストは常にcommand
フィールドとオプションでid
フィールドを持ち、JSON-RPCリクエストはmethod
フィールドとparams
フィールドを使います)。
このメソッドにはコマンドライン構文がありません。代わりにjsonメソッドを使って、コマンドラインからこのメソッドにアクセスすることができます。
一般的なフィールド
フィールド | 型 | 説明 |
---|---|---|
binary | ブール値 | (省略可) true の場合、リクエストしたレジャーオブジェクトの内容がXRP Ledgerのバイナリ形式の16進数の文字列として返されます。それ以外の場合はデータがJSONフォーマットで返されます。デフォルトはfalse です。 |
ledger_hash | 文字列 | (省略可) 使用するレジャーバージョンの20バイトの16進数の文字列。(レジャーの指定をご覧ください。 |
ledger_index | 文字列 または 符号なし整数 | (省略可) 使用するレジャーのレジャーインデックス、またはレジャーを自動的に選択するためのショートカット文字列("validated"や"closed"、"current"など)。(レジャーの指定をご覧ください。 |
generator
とledger
パラメータは非推奨であり、予告なく削除される可能性があります。
上記の一般的なフィールドに加えて、オブジェクトを取得するタイプを示すために、以下のフィールドのうち 正確に1つ を指定する必要があります。有効なフィールドは以下のとおりです。
IDからレジャーオブジェクトを取得する
ユニークな ID を使用して、任意のタイプのレジャーオブジェクトを取得します。
フィールド | 型 | 説明 |
---|---|---|
index | 文字列 | レジャーから取得する1オブジェクトのオブジェクトIDを、64文字(256ビット)の16進数の文字列。 |
{
"command": "ledger_entry",
"index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4",
"ledger_index": "validated"
}
このタイプのリクエストは、レジャーデータにシングルトンオブジェクトが存在する場合、そのIDは常に同一であるため、任意のシングルトンオブジェクトを取得するために使用できます。たとえば
Amendments
-7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4
FeeSettings
-4BC50C9B0D8515D3EAAE1E74B29A95804346C491EE1A95BF25E4AAB854A6A651
- 直近の
LedgerHashes
-B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B
NegativeUNL
-2E8A59AA9D3B5B186B0B9E0F62E6C02587CA74A4D778938E957B6357D364B244
AccountRootオブジェクトを取得する
アドレスからAccountRootオブジェクトを取得します。これはaccount_infoメソッドとほぼ同じです。
| フィールド | 型 | 説明 | |:----------- ---|:--------------------|:----------------------| | account_root
| 文字列 - アドレス | 取得するAccountRootオブジェクトの標準アドレス。 |
{
"id": "example_get_accountroot",
"command": "ledger_entry",
"account_root": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"ledger_index": "validated"
}
AMMオブジェクトを取得する
(AMM amendmentにより追加されました。)
レジャーからAutomated Market-Maker(AMM)オブジェクトを取得します。これはamm_infoメソッドと似ていますが、ledger_entry
は保存されているレジャーエントリのみを返します。
フィールド | 型 | 説明 |
---|---|---|
amm | オブジェクトまたは文字列 | 取得するAMM。文字列を指定する場合は、AMMのオブジェクトIDを16進数で指定しなければなりません。オブジェクトを指定する場合は、asset とasset2 のサブフィールドを含む必要があります。 |
amm.asset | オブジェクト | このAMMのプールにある2つの資産のうちのひとつを、金額なしの通貨オブジェクトとして指定します。 |
amm.asset2 | オブジェクト | このAMMのプールにある2つの資産のうちのもうひとつを、金額なしの通貨オブジェクトとして指定します。 |
{
"id": 3,
"command": "ledger_entry",
"amm": {
"asset": {
"currency": "XRP"
},
"asset2": {
"currency" : "TST",
"issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd"
}
},
"ledger_index": "validated"
}
Bridgeオブジェクトを取得する
(XChainBridge amendmentが必要です )
XRP Ledgerを他のブロックチェーンに接続する1つのクロスチェーンブリッジを表すBridgeエントリを取得します。
フィールド | 型 | 説明 |
---|---|---|
bridge_account | 文字列 | ブロックチェーン上でXChainCreateBridge トランザクションを送信したアカウント。 |
bridge | オブジェクト | 取得するブリッジ。ドアアカウントと発行・ロックチェーンの資産の情報を含みます。 |
{
"id": "example_get_bridge",
"command": "ledger_entry",
"bridge_account": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ",
"bridge": {
"IssuingChainDoor": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"IssuingChainIssue": {
"currency": "XRP"
},
"LockingChainDoor": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ",
"LockingChainIssue": {
"currency": "XRP"
}
},
"ledger_index": "validated"
}
DirectoryNodeオブジェクトを取得する
他のレジャーオブジェクトのリストを含むDirectoryNodeを取得します。文字列(DirectoryのオブジェクトID)またはオブジェクトを指定します。
フィールド | 型 | 説明 |
---|---|---|
directory | オブジェクト または 文字列 | 取得するDirectoryNode。文字列の場合は、ディレクトリのオブジェクトIDを16進数で指定します。オブジェクトの場合は、サブフィールドとしてdir_root またはowner が必要で、オプションとしてsub_index サブフィールドを指定可能です。 |
directory.sub_index | 符号なし整数 | (省略可) 指定された場合、その"ページ"以降のDirectoryNodeにジャンプします。 |
directory.dir_root | 文字列 | (省略可) 取得するディレクトリを表す一意のインデックス。 |
directory.owner | 文字列 | (省略可) このディレクトリに関連付けられているアカウントの一意のアドレス。 |
{
"id": 3,
"command": "ledger_entry",
"directory": {
"owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"sub_index": 0
},
"ledger_index": "validated"
}
Offerオブジェクトを取得する
通貨交換のオファーを定義した Offer オブジェクト を取得します。文字列 (オファーの一意なインデックス) あるいはオブジェクトを指定します。
フィールド | 型 | 説明 |
---|---|---|
offer | オブジェクトまたは 文字列 | 取得するオファーオブジェクト。文字列の場合、オファーに対する一意のオブジェクトIDを指定します。オブジェクトの場合、オファーを一意に識別するためのサブフィールドaccount とseq を指定します。 |
offer.account | 文字列 - アドレス | (offer がオブジェクト形式で指定されている場合、必須) オファーを作成したアカウント。 |
offer.seq | 符号なし整数 | (offer がオブジェクト形式で指定されている場合、必須) オファーオブジェクトを作成したトランザクションのシーケンス番号。 |
{
"id": "example_get_offer",
"command": "ledger_entry",
"offer": {
"account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"seq": 359
},
"ledger_index": "validated"
}
RippleStateオブジェクトを取得する
2つのアカウント間の(XRP以外の)通貨残高を追跡するRippleStateオブジェクトを取得します。
フィールド | 型 | 説明 |
---|---|---|
ripple_state | オブジェクト | 取得するRippleState(trust line)オブジェクトを指定するオブジェクト。取得するRippleStateエントリを一意に指定するには、accounts とcurrency のサブフィールドが必要です。 |
ripple_state.accounts | 配列 | (ripple_state が指定されている場合、必須) このRippleStateオブジェクトによってリンクされた2つのアカウントを長さ2の配列で指定します。 |
ripple_state.currency | 文字列 | (ripple_state が指定されている場合、必須) 取得するRippleStateオブジェクトの通貨コードを指定します。 |
{
"id": "example_get_ripplestate",
"command": "ledger_entry",
"ripple_state": {
"accounts": [
"rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW"
],
"currency": "USD"
},
"ledger_index": "validated"
}
Checkオブジェクトを取得する
Checkオブジェクトを取得します。.
フィールド | 型 | 説明 |
---|---|---|
check | 文字列 | 取得するCheckオブジェクトのオブジェクトID。 |
{
"id": "example_get_check",
"command": "ledger_entry",
"check": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB",
"ledger_index": "validated"
}
Escrowオブジェクトを取得する
Escrowオブジェクトを取得します。文字列(エスクローのオブジェクトID)またはオブジェクトとして指定します。
フィールド | 型 | 説明 |
---|---|---|
escrow | オブジェクト または 文字列 | 取得するEscrowオブジェクトを指定します。文字列の場合は、エスクローのオブジェクトIDを16進数で指定します。オブジェクトの場合、owner とseq サブフィールドを指定します。. |
escrow.owner | 文字列 - アドレス | (escrow がオブジェクト形式で指定されている場合、必須) Escrowオブジェクトの所有者(送信者)。 |
escrow.seq | 符号なし整数 | (escrow がオブジェクト形式で指定されている場合、必須) エスクローオブジェクトを作成したトランザクションのシーケンス番号。 |
{
"id": "example_get_escrow",
"command": "ledger_entry",
"escrow": {
"owner": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9NTjKK",
"seq": 126
},
"ledger_index": "validated"
}
PayChannelオブジェクトを取得する
非同期決済用のXRPを保持するPayChannelオブジェクトを取得します。.
フィールド | 型 | 説明 |
---|---|---|
payment_channel | 文字列 | 取得するPayChannelオブジェクトのオブジェクトID。 |
{
"id": "example_get_paychannel",
"command": "ledger_entry",
"payment_channel": "C7F634794B79DB40E87179A9D1BF05D05797AE7E92DF8E93FD6656E8C4BE3AE7",
"ledger_index": "validated"
}
DepositPreauthオブジェクトを取得する
DepositPreauthオブジェクトを取得します。このオブジェクトは、Deposit Authorizationを必要とする口座への支払いの事前承認を記録します。文字列(DepositPreauthのオブジェクトID)またはオブジェクトとして指定します。.
フィールド | 型 | 説明 |
---|---|---|
deposit_preauth | オブジェクト または 文字列 | 取得するDepositPreauthオブジェクトを指定します。文字列の場合、DepositPreauthオブジェクトのオブジェクトIDを16進数で指定します。オブジェクトの場合、owner とauthorized のサブフィールドを指定します。 |
deposit_preauth.owner | 文字列 - アドレス | (deposit_preauth がオブジェクト形式で指定されている場合、必須) 事前承認を行ったアカウント。 |
deposit_preauth.authorized | 文字列 - アドレス | (deposit_preauth がオブジェクト形式で指定されている場合、必須) 事前承認を受けたアカウント。 |
{
"id": "example_get_deposit_preauth",
"command": "ledger_entry",
"deposit_preauth": {
"owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"authorized": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX"
},
"ledger_index": "validated"
}
Ticketオブジェクトを取得する
将来の使用のために確保されたシーケンス番号を表すTicketオブジェクトを取得します。文字列(TicketのオブジェクトID)またはオブジェクトを指定します。 (TicketBatch amendmentにより追加されました。)
フィールド | 型 | 説明 |
---|---|---|
ticket | オブジェクト または 文字列 | 取得するTicketオブジェクト。文字列の場合、チケットのオブジェクトIDを16進数で指定します。オブジェクトの場合、チケットエントリを一意に指定するためにaccount とticket_seq サブフィールドを指定します。 |
ticket.account | 文字列 - アドレス | (ticket がオブジェクト形式で指定されている場合、必須) Ticketオブジェクトの所有者を指定します。 |
ticket.ticket_seq | 数値 | (ticket がオブジェクト形式で指定されている場合、必須) 取得するTicketのTicketシーケンス番号を指定します。 |
{
"id": "example_get_ticket",
"command": "ledger_entry",
"ticket": {
"account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"ticket_seq": 389
},
"ledger_index": "validated"
}
NFT Pageを取得する
NFT ページを生のレジャー形式で取得します。
{
"id": "example_get_nft_page",
"command": "ledger_entry",
"nft_page": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF",
"ledger_index": "validated"
}
レスポンスのフォーマット
レスポンスは標準フォーマットに従って、成功結果には以下のフィールドが含まれます。
フィールド | 型 | 説明 |
---|---|---|
index | 文字列 | レジャーオブジェクトの一意のID。 |
ledger_index | 符号なし整数 | このデータを取得する際に使用したレジャーの レジャーインデックス。 |
node | オブジェクト | ("binary": true が指定されている場合、省略) レジャーフォーマットに基づいた、この元帳オブジェクトのデータを含むオブジェクト。 |
node_binary | 文字列 | ("binary": true が指定されていない場合、省略) レジャーオブジェクトのバイナリ形式を16進数で表したもの。 |
処理が成功したレスポンスの例:
{
"id": "example_get_accountroot",
"result": {
"index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8",
"ledger_hash": "31850E8E48E76D1064651DF39DF4E9542E8C90A9A9B629F4DE339EB3FA74F726",
"ledger_index": 61966146,
"node": {
"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"AccountTxnID": "4E0AA11CBDD1760DE95B68DF2ABBE75C9698CEB548BEA9789053FCB3EBD444FB",
"Balance": "424021949",
"Domain": "6D64756F31332E636F6D",
"EmailHash": "98B4375E1D753E5B91627516F6D70977",
"Flags": 9568256,
"LedgerEntryType": "AccountRoot",
"MessageKey": "0000000000000000000000070000000300",
"OwnerCount": 12,
"PreviousTxnID": "4E0AA11CBDD1760DE95B68DF2ABBE75C9698CEB548BEA9789053FCB3EBD444FB",
"PreviousTxnLgrSeq": 61965653,
"RegularKey": "rD9iJmieYHn8jTtPjwwkW2Wm9sVDvPXLoJ",
"Sequence": 385,
"TransferRate": 4294967295,
"index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8"
},
"validated": true
},
"status": "success",
"type": "response"
}
考えられるエラー
- いずれかの汎用エラータイプ。
deprecatedFeature
- 削除されたフィールド(generator
など)がリクエストに指定されていました。entryNotFound
- リクエストされたレジャーオブジェクトはレジャーに存在しません。invalidParams
- 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。lgrNotFound
-ledger_hash
またはledger_index
で指定したレジャーが存在しないか、存在してはいるもののサーバが保有していません。malformedAddress
- リクエストのアドレスフィールドが誤って指定されています。malformedCurrency
- リクエストの通貨コードフィールドが誤って指定されています。malformedOwner
- リクエストのescrow.owner
サブフィールドが誤って指定されています。malformedRequest
- リクエストにフィールドが無効な組み合わせで指定されているか、1つ以上のフィールドの型が誤っています。unknownOption
- リクエストに指定されたフィールドが、予期されるリクエストのフォーマットのいずれにも一致していません。