最終更新:
編集

Amendments

[ソース]

Amendmentsオブジェクトタイプには、現在アクティブなAmendmentのリストが含まれています。各レジャーバージョンには最大で1つのAmendmentsオブジェクトが含まれています。

AmendmentsのJSONの例

{
    "Amendments": [
        "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE",
        "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
        // (... Long list of enabled amendment IDs ...)
        "03BDC0099C4E14163ADA272C1B6F6FABB448CC3E51F522F978041E4B57D9158C",
        "35291ADD2D79EB6991343BDA0912269C817D0F094B02226C1C14AD2858962ED4"
    ],
    "Flags": 0,
    "LedgerEntryType": "Amendments",
    "Majorities": [
        {
            "Majority": {
                "Amendment": "7BB62DC13EC72B775091E9C71BF8CF97E122647693B50C5E87A80DFD6FCFAC50",
                "CloseTime": 779561310
            }
        },
        {
            "Majority": {
                "Amendment": "755C971C29971C9F20C6F080F2ED96F87884E40AD19554A5EBECDCEC8A1F77FE",
                "CloseTime": 779561310
            }
        }
    ],
    "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4"
}

Amendmentsのフィールド

共通フィールドに加えて、Amendmentsエントリは以下のフィールドを使用します。

名前JSONの型内部の型必須?説明
Amendments配列VECTOR256いいえ(省略可) 現在有効なすべてのAmendmentの256ビットAmendment IDからなる配列。省略されている場合は、有効なAmendmentがありません。
Flags数値UInt32はいブール値フラグのビットマップ。Amendmentオブジェクトタイプにはフラグが定義されていないため、この値は常に0です。
LedgerEntryType文字列UInt16はい値が0x0066(文字列Amendmentsにマッピング)の場合は、このオブジェクトがXRP Ledgerに対するAmendmentのステータスを記述していることを示します
Majorities配列STArrayいいえ(省略可) 過半数の支持を得ているがまだ有効になっていないAmendmentのステータスを記述するオブジェクトの配列。省略されている場合は、過半数の支持を得ている保留中のAmendmentがありません。
PreviousTxnID文字列Hash256いいえこのエントリを最後に変更したトランザクションの識別ハッシュ。fixPreviousTxnID amendmentにより追加されました。)
PreviousTxnLgrSeq数値UInt32いいえこのエントリを最後に変更したトランザクションが含まれるレジャーインデックスfixPreviousTxnID amendmentにより追加されました。)

Majoritiesフィールドにメンバーが含まれている場合、各メンバーはMajorityフィールドのみが含まれているオブジェクトです。このフィールドの内容は、以下のフィールドからなるネストオブジェクトです。

名前JSONの型内部の型説明
Amendment文字列Hash256保留中のAmendmentのAmendment ID。
CloseTime数値UInt32このAmendmentが最後に過半数の支持を得たレジャーバージョンのclose_timeフィールド

Amendmentプロセスでは、80%以上のバリデータが新しいAmendmentを支持してバリデータのコンセンサスが得られると、tfGotMajorityフラグを指定したEnableAmendment疑似トランザクションを使用してこの新しいAmendmentがMajoritiesフィールドに追加されます。保留中のAmendmentの支持が80%を下回ると、tfLostMajorityフラグが指定されたEnableAmendment疑似トランザクションによりそのAmendmentがMajorities配列から削除されます。AmendmentがMajoritiesフィールドに含まれている状態が2週間以上継続している場合、フラグが指定されていないEnableAmendment疑似トランザクションによってそのAmendmentはMajoritiesから削除され、Amendmentsフィールドに恒久的に追加されます。

注記
実際には、レジャー内のすべてのトランザクションは、その直前のレジャーバージョンで有効になっているAmendmentに基づいて処理されます。Amendmentが有効になったレジャーバージョンにトランザクションを適用する場合、このルールでは中間レジャーは変更されません。レジャーの閉鎖後、適用された新しいAmendmentにより定義される新しいルールが次のレジャーで使用されます。

Amendmentsのフラグ

Amendmentsエントリに定義されているフラグはありません。

Amendmentsの準備金

Amendmentsエントリは準備金が不要です。

Amendment IDのフォーマット

AmendmentsオブジェクトIDは、Amendmentsスペースキー(0x0066)のハッシュのみです。つまり、レジャーのAmendmentsオブジェクトのIDは常に次の値になります:

7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4

AmendmentsレジャーオブジェクトタイプのIDと、個々のAmendmentのAmendment IDを混同しないでください。)