最終更新:
編集

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"など)。(レジャーの指定をご覧ください。

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"
}

試してみよう! >

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"
}

試してみる >

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)またはオブジェクトとして指定します。新規: rippled 1.1.0.

フィールド説明
deposit_preauthオブジェクト または 文字列取得するDepositPreauthオブジェクトを指定します。文字列の場合、DepositPreauthオブジェクトのオブジェクトIDを16進数で指定します。オブジェクトの場合、ownerauthorizedのサブフィールドを指定します。
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進数で指定します。オブジェクトの場合、チケットエントリを一意に指定するために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"
}

試してみる >

レスポンスのフォーマット

レスポンスは標準フォーマットに従って、成功結果には以下のフィールドが含まれます。

フィールド説明
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 - リクエストに指定されたフィールドが、予期されるリクエストのフォーマットのいずれにも一致していません。