最終更新:
編集

ledger_entry

[ソース]

ledger_entryメソッドは、XRP Ledgerの1つのレジャーエントリを生フォーマットで返します。取得可能な各種エントリについては、レジャーフォーマットをご覧ください。

リクエストのフォーマット

このメソッドは複数の異なる種類のデータを取得することができます。以下に記載されている一般的なフィールドと特定のタイプのフィールドで構成される適切なパラメータを渡し、標準のリクエストのフォーマットに従うことで、取得するアイテムの種類を選択できます。(例えば、WebSocketリクエストは常にcommandフィールドとオプションでidフィールドを持ち、JSON-RPCリクエストはmethodフィールドとparamsフィールドを使います)。

注記

このメソッドにはコマンドライン構文がありません。代わりにjsonメソッドを使って、コマンドラインからこのメソッドにアクセスすることができます。

一般的なフィールド

フィールド説明
binaryブール値(省略可) trueの場合、リクエストしたレジャーエントリの内容がXRP Ledgerのバイナリ形式の16進数の文字列として返されます。それ以外の場合はデータがJSONフォーマットで返されます。デフォルトはfalseです。更新: rippled 1.2.0
ledger_hash文字列(省略可) 使用するレジャーバージョンの20バイトの16進数の文字列。(レジャーの指定をご覧ください。
ledger_index文字列 または 符号なし整数(省略可) 使用するレジャーのレジャーインデックス、またはレジャーを自動的に選択するためのショートカット文字列("validated"や"closed"、"current"など)。(レジャーの指定をご覧ください。
include_deleted真偽値(省略可, Clioサーバのみ) クエリされたオブジェクトが削除されている場合、その完全なデータを削除前の状態で返します。falseまたは提供されていない場合、クエリされたオブジェクトが削除されている場合はobjectNotFoundを返します。

generatorledgerパラメータは非推奨であり、予告なく削除される可能性があります。

上記の一般的なフィールドに加えて、エントリを取得するタイプを示すために、以下のフィールドのうち 正確に1つ を指定する必要があります。有効なフィールドは以下のとおりです。

注意
リクエストでこれらの型固有のフィールドを1つ以上指定した場合、サーバはそのうちの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進数で指定しなければなりません。エントリを指定する場合は、assetasset2のサブフィールドを含む必要があります。
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を指定します。レジャーエントリの場合、オファーを一意に識別するためのサブフィールドaccountseqを指定します。
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エントリを取得します。これは、トークン価格を保存できる単一の価格オラクルを表します。

フィールド必須?説明
oracleObjectはいオラクルの識別子。
oracle.accountString - AddressはいOracleオブジェクトを制御するアカウント。
oracle.oracle_document_idNumberはい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エントリを一意に指定するには、accountscurrencyのサブフィールドが必要です。
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エントリを取得します。新規: rippled 1.0.0.

フィールド説明
check文字列取得するCheckエントリレジャーエントリID
{
  "id": "example_get_check",
  "command": "ledger_entry",
  "check": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D7944C28B95127C2659C47CBEB",
  "ledger_index": "validated"
}
試してみる

Escrowエントリを取得する

Escrowエントリを取得します。文字列(エスクローのエントリID)またはオブジェクトとして指定します。新規: rippled 1.0.0

フィールド説明
escrowオブジェクト または 文字列取得するEscrowエントリを指定します。文字列の場合は、エスクローのレジャーエントリIDを16進数で指定します。オブジェクトの場合、ownerseqサブフィールドを指定します。.
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エントリを取得します。新規: rippled 1.0.0.

フィールド説明
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進数で指定します。オブジェクトの場合、チケットエントリを一意に指定するためにaccountticket_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を一意に識別するために、accountmpt_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 - リクエストに指定されたフィールドが、予期されるリクエストのフォーマットのいずれにも一致していません。