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つを指定します。

  1. index - 一意のIDを指定して任意のタイプのレジャーオブジェクトを取得します。
  2. account_root - AccountRootオブジェクトを取得します。これはaccount_infoメソッドとほぼ同等です。
  3. directory - 他のレジャーオブジェクトのリストが含まれているDirectoryNodeを取得します。
  4. offer - 通貨取引オファーを定義するOfferオブジェクトを取得します。
  5. ripple_state - 2つのアカウント間の(XRP以外の)通貨の残高を追跡するRippleStateオブジェクトを取得します。
  6. check - 受取人が現金化できる支払いであるCheckオブジェクトを取得します。新規: rippled 1.0.0
  7. escrow - 特定の時刻または条件に一致するまでXRPを保有するEscrowオブジェクトを取得します。新規: rippled 1.0.0
  8. payment_channel - 非同期支払いのためにXRPを保有するPayChannelオブジェクトを取得します。新規: rippled 1.0.0
  9. deposit_preauth - Deposit Authorizationを必要とするアカウントへの支払いの事前承認を追跡するDepositPreauthオブジェクトを取得します。新規: rippled 1.1.0

上記のアイテムを複数指定すると、サーバーはそのうちの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の一意のインデックスとして解釈されます。オブジェクトの場合は、オファーを一意に識別するためサブフィールドaccountseqが必要です。
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です。更新: rippled 1.2.0
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 - 要求に指定されたフィールドが、予期される要求フォーマットのいずれにも一致していません。