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"など)。(レジャーの指定をご覧ください。 |
include_deleted | 真偽値 | (省略可, Clioサーバのみ) クエリされたオブジェクトが削除されている場合、その完全なデータを削除前の状態で返します。false または提供されていない場合、クエリされたオブジェクトが削除されている場合はobjectNotFound を返します。 |
generator
とledger
パラメータは非推奨であり、予告なく削除される可能性があります。
上記の一般的なフィールドに加えて、エントリを取得するタイプを示すために、以下のフィールドのうち 正確に1つ を指定する必要があります。有効なフィールドは以下のとおりです。
- ledger_entry
- リクエストのフォーマット
- 一般的なフィールド
- IDからレジャーエントリを取得する
- AccountRootエントリを取得する
- AMMエントリを取得する
- Bridgeエントリを取得する
- Credentialエントリを取得する
- Directorynodeエントリを取得する
- Offerエントリを取得する
- Oracleエントリを取得する
- RippleStateエントリを取得する
- Checkエントリを取得する
- Escrowエントリを取得する
- Paychannelエントリを取得する
- DepositPreauthエントリを取得する
- Ticketエントリを取得する
- Nft Pageを取得する
- MPT Issuanceオブジェクトを取得する
- MPTokenオブジェクトを取得する
- レスポンスのフォーマット
- 考えられるエラー
- リクエストのフォーマット
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"
}
Credentialエントリを取得する
Credentialエントリを取得します。
フィールド | 型 | 必須? | 説明 |
---|---|---|---|
credential | オブジェクト または 文字列 | はい | 取得するCredentialエントリを指定します。文字列の場合は、エントリのレジャーエントリIDを16進数で指定します。オブジェクトの場合は、subject , issuer , credential_type のサブフィールドが必要です。 |
credential.subject | 文字列 - Address | はい | 資格情報の対象となるアカウント。 |
credential.issuer | 文字列 - Address | はい | 資格情報を発行したアカウント。 |
credential.credential_type | 文字列 - 16進数文字列 | はい | 資格情報の種類。 |
WebSocket:
{
"id": "example_get_credential",
"command": "ledger_entry",
"credential": {
"subject": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8",
"issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
"credential_type": "6D795F63726564656E7469616C"
},
"ledger_index": "validated"
}
JSON-RPC:
{
"method": "ledger_entry",
"params": [{
"credential": {
"subject": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8",
"issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
"credential_type": "6D795F63726564656E7469616C"
},
"ledger_index": "validated"
}]
}
Commandline:
rippled json ledger_entry '{ "credential": {"subject": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", "issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX","credential_type": "6D795F63726564656E7469616C"}, "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"
}
Oracleエントリを取得する
(PriceOracle amendmentが必要です)
Oracleエントリを取得します。これは、トークン価格を保存できる単一の価格オラクルを表します。
フィールド | 型 | 必須? | 説明 |
---|---|---|---|
oracle | Object | はい | オラクルの識別子。 |
oracle.account | String - Address | はい | Oracle オブジェクトを制御するアカウント。 |
oracle.oracle_document_id | Number | はい | Account のオラクルの一意の識別子。 |
{
"id": "example_get_oracle",
"command": "ledger_entry",
"oracle" : {
"account": "rNZ9m6AP9K7z3EVg6GhPMx36V4QmZKeWds",
"oracle_document_id": 34
},
"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 またはauthorize_credentials サブフィールドのいずれかが必要です。 |
deposit_preauth.owner | 文字列 - アドレス | はい | 事前承認を行ったアカウント |
deposit_preauth.authorized | 文字列 - アドレス | いいえ | 事前承認を受けたアカウント。 |
deposit_preauth.authorized_credentials | 配列 | いいえ | 事前承認を受けた資格情報のセット |
deposit_preauth.authorized_credentials
配列の各メンバは、提供されている場合、次のネストされたフィールドを含める必要があります。
フィールド | 型 | 必須? | 説明 |
---|---|---|---|
issuer | 文字列 - アドレス | はい | 資格情報の発行アカウントのアドレス |
credential_type | 文字列 - 16進数 | はい | 発行された資格情報のタイプ |
{
"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 ページを生のレジャー形式で取得します。
フィールド | 型 | 説明 |
---|---|---|
nft_page | 文字列 | 取得するNFTページのレジャーエントリID。 |
{
"id": "example_get_nft_page",
"command": "ledger_entry",
"nft_page": "255DD86DDF59D778081A06D02701E9B2C9F4F01DFFFFFFFFFFFFFFFFFFFFFFFF",
"ledger_index": "validated"
}
MPT Issuanceオブジェクトを取得する
(MPTokensV1 amendmentが必要です。 )
MPTokenIssuance
オブジェクトを返します。
フィールド | 型 | 説明 |
---|---|---|
mpt_issuance | 文字列 | 192ビットのMPTokenIssuanceID を16進文字列で指定。 |
{
"id": "example_get_mpt_issuance",
"command": "ledger_entry",
"mpt_issuance": "000004C463C52827307480341125DA0577DEFC38405B0E3E",
"ledger_index": "validated"
}
MPTokenオブジェクトを取得する
(MPTokensV1 amendmentが必要です。 )
MPToken
オブジェクトを返します。
フィールド | 型 | 説明 |
---|---|---|
mptoken | オブジェクトまたは文字列 | 文字列の場合、取得するMPTokenのレジャーエントリIDとして解釈します。オブジェクトの場合、MPToken を一意に識別するために、account とmpt_issuance_id のサブフィールドが必要です。 |
mptoken.mpt_issuance_id | 文字列 | (MPToken がオブジェクトの場合必須) MPTokenIssuanceに紐づく192ビットのMPTokenIssuanceID。 |
mptoken.account ️ | 文字列 | (MPToken がオブジェクトの場合必須) MPTokenの所有者のアカウント。 |
{
"id": "example_get_mpt_issuance",
"command": "ledger_entry",
"mptoken": {
"mpt_issuance_id": "000002DFA4D893CFBC4DC6AE877EB585F90A3B47528B958D",
"account":"r33kves44ksufkHSGg3M6GPPAsoVHEN8C1"
}
}
レスポンスフォーマット
レスポンスは標準フォーマットに従い、成功した結果には次のフィールドが含まれます。
フィールド | 型 | 説明 |
---|---|---|
index | 文字列 | レジャーエントリの一意のID。 |
ledger_index | 符号なし整数 | このデータを取得する際に使用したレジャーの レジャーインデックス。 |
node | オブジェクト | ("binary": true が指定されている場合、省略) レジャーフォーマットに基づいた、このレジャーエントリのデータを含むエントリ。 |
node_binary | 文字列 | ("binary": true が指定されていない場合、省略) レジャーエントリのバイナリ形式を16進数で表したもの。 |
deleted_ledger_index | 文字列 | (Clioサーバのみ, include_deleted パラメータが設定されている場合のみ) レジャーエントリオブジェクトが削除されたレジャーインデックス。 |
成功したレスポンスの例:
{
"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
- リクエストに指定されたフィールドが、予期されるリクエストのフォーマットのいずれにも一致していません。