Amendments

[ソース]

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

AmendmentsのJSONの例

{
    "Majorities": [
        {
            "Majority": {
                "Amendment": "1562511F573A19AE9BD103B5D6B9E01B3B46805AEC5D3C4805C902B514399146",
                "CloseTime": 535589001
            }
        }
    ],
    "Amendments": [
        "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE",
        "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
        "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC",
        "740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11"
    ],
    "Flags": 0,
    "LedgerEntryType": "Amendments",
    "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4"
}

Amendmentsのフィールド

名前 JSONの型 内部の型 説明
Amendments 配列 STI_VECTOR256 (省略可) 現在有効なすべてのAmendmentの256ビットAmendment IDからなる配列。省略されている場合は、有効なAmendmentがありません。
Majorities 配列 STI_ARRAY (省略可) 過半数の支持を得ているがまだ有効になっていないAmendmentのステータスを記述するオブジェクトの配列。省略されている場合は、過半数の支持を得ている保留中のAmendmentがありません。
Flags 数値 UInt32 ブール値フラグのビットマップ。Amendmentオブジェクトタイプにはフラグが定義されていないため、この値は常に0です。
LedgerEntryType 文字列 UInt16 値が 0x0066(文字列Amendmentsにマッピング)の場合は、このオブジェクトがXRP Ledgerに対する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により定義される新しいルールが次のレジャーで使用されます。

Amendment IDのフォーマット

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

7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4

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