レジャーヘッダー

[ソース]

すべてのレジャーバージョンには、その内容を記述する一意のヘッダーが含まれています。ledgerメソッドを使用してレジャーのヘッダー情報を検索できます。レジャーヘッダーの内容を以下に示します。

フィールド JSONの型 内部の型 説明
ledger_index 文字列 UInt32 レジャーのレジャーインデックス。APIメソッドの中には、この番号を引用符で囲んだ整数として表示するメソッドと、ネイティブJSON数値として表示するメソッドがあります。
ledger_hash 文字列 Hash256 このレジャーバージョンのSHA-512ハーフ。これは、このレジャーとそのすべての内容の一意のIDとして機能します。
account_hash 文字列 Hash256 このレジャーの状態ツリー情報のSHA-512ハーフ
close_time 数値 UInt32 このレジャーバージョンが閉鎖されたおおよその時刻。Rippleエポック(2000-01-01 00:00:00)以降の経過秒数として示されます。この値は、close_time_resolutionに基づいて丸められます。
closed ブール値 ブール値 trueの場合、このレジャーバージョンはこれ以上新しいトランザクションを受け入れません。(ただし、このレジャーバージョンが未検証の場合は、一連の異なるトランザクションが記録されている別のレジャーバージョンに置き換えられることがあります。)
parent_hash 文字列 Hash256 このバージョンの直前のレジャーバージョンのledger_hash値。直前のレジャーインデックスの異なるバージョンが存在している場合、これはレジャーの生成元を示します。
total_coins 文字列 UInt64 レジャーのアカウントが保有するXRPのXRPのdrop数の合計。トランザクション手数料により消却されたXRPは除外されます。一部のアカウントは、そのキーを知っている人がいない「ブラックホール」アカウントであるため、流通している実際のXRPの量はこれよりも少なくなります。
transaction_hash 文字列 Hash256 このレジャーに記録されているトランザクションのSHA-512ハーフ
close_time_resolution 数値 Uint8 close_timeを丸めるときの最大秒数を示す範囲[2,120]内の整数。
closeFlags (省略) UInt8 このレジャーの閉鎖に関連するフラグのビットマップ。

レジャーインデックス

レジャーインデックスは、32ビットの符号なし整数であり、レジャーを識別するために使用します。レジャーインデックスは、レジャーの シーケンス番号 と呼ばれることもあります。(アカウントシーケンスとは異なります。)一番最初のレジャーでは、レジャーインデックスは1でした。新しいレジャーのレジャーインデックスは、その直前のレジャーのレジャーインデックスに1を加算した値になります。

レジャーインデックスがレジャーの順番を示すのに対し、ハッシュ値はレジャーの正確なコンテンツを示します。2つのレジャーが同じハッシュ値を持つ場合、それらは必ず同じものです。検証済みレジャーでは、ハッシュ値とレジャーインデックスは等しく有効で、1:1の関係です。しかし、進行中のレジャーに対しては、以下の理由によりその限りでありません。

  • ネットワーク全体でのトランザクションの伝搬遅延が原因で、2つの異なるrippledサーバーで、同じレジャーインデックスを持つ現行レジャーに対するコンテンツが異なる場合があります。
  • 決済済みレジャーバージョンが複数あり、コンセンサスによる検証が競合している場合があります。このようなレジャーバージョンでは、レジャーインデックスは同じですが、コンテンツは異なります(ハッシュも異なります)。これらの決済済みレジャーのうち、検証済みになるのは1つだけです。
  • 現行のオープンレジャーのハッシュは計算されません。これは、現行レジャーのレジャーインデックスは同じままであっても、コンテンツは時間とともに変化し、ハッシュが変わる可能性があるためです。レジャーのハッシュは、レジャーが閉鎖されるときにのみ計算されます。

closeフラグ

レジャーでは1つのフラグだけがcloseFlagsとして設定されています(sLCF_NoConsensusTime(値1))。このフラグが有効な場合、バリデータによってレジャーの閉鎖時刻が異なります。ただし、作成しているレジャーは同一のものであるため、バリデータは閉鎖時刻について「合意をしないことに合意する」とした上でコンセンサスを宣言しました。この場合、コンセンサスレジャーバージョンのclose_timeの値は直前のバージョンの1秒後です。(この場合、正式な閉鎖時刻がありませんが、実際の閉鎖時刻はおそらく指定されているclose_timeの3~6秒後です。)

closeFlagsフィールドはレジャーのJSON表現には含まれていませんが、レジャーのバイナリ表現には含まれており、レジャーのハッシュを判別するフィールドの1つです。

関連項目

レジャーの基本的な説明については、レジャーを参照してください。