Saltearse al contenido

Amendments

[Source]

El tipo de objeto Amendments contiene una lista de Enmiendas que están actualmente activas. Cada versión del ledger contiene como máximo un objeto Amendments.

{
"Majorities": [
{
"Majority": {
"Amendment": "1562511F573A19AE9BD103B5D6B9E01B3B46805AEC5D3C4805C902B514399146",
"CloseTime": 535589001
}
}
],
"Amendments": [
"42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE",
"4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
"6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC",
"740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11"
],
"Flags": 0,
"LedgerEntryType": "Amendments",
"index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4"
}
NombreTipo JSON[Tipo Interno][]¿Requerido?Descripción
AmendmentsArrayVector256NoArreglo de IDs de enmienda de 256 bits para todas las enmiendas actualmente habilitadas. Si se omite, no hay enmiendas habilitadas.
FlagsNumberUInt32Un mapa de bits de indicadores booleanos habilitados para este objeto. Actualmente, el protocolo no define indicadores para objetos Amendments. El valor es siempre 0.
LedgerEntryTypeStringUInt16El valor 0x0066, mapeado a la cadena Amendments, indica que este objeto describe el estado de las enmiendas a Xahau.
MajoritiesArraySTArrayNoArreglo de objetos que describen el estado de las enmiendas que tienen apoyo de mayoría pero aún no están habilitadas. Si se omite, no hay enmiendas pendientes con apoyo de mayoría.

Cada miembro del campo Majorities, si está presente, es un objeto con un campo, Majority, cuyo contenido es un objeto anidado con los siguientes campos:

NombreTipo JSON[Tipo Interno][]Descripción
AmendmentStringHash256El ID de Enmienda de la enmienda pendiente.
CloseTimeNumberUInt32El campo close_time de la versión del ledger donde esta enmienda obtuvo una mayoría más recientemente.

En el proceso de enmiendas, un consenso de validadores agrega una nueva enmienda al campo Majorities usando una pseudo-transacción EnableAmendment con el indicador tfGotMajority cuando el 80% o más de los validadores la apoyan. Si el apoyo para una enmienda pendiente cae por debajo del 80%, una pseudo-transacción EnableAmendment con el indicador tfLostMajority elimina la enmienda del arreglo Majorities. Si una enmienda permanece en el campo Majorities durante al menos 2 semanas, una pseudo-transacción EnableAmendment sin indicadores la elimina de Majorities y la agrega permanentemente al campo Amendments.

Nota: Técnicamente, todas las transacciones en un ledger se procesan basándose en qué enmiendas están habilitadas en la versión del ledger inmediatamente anterior. Mientras se aplican transacciones a una versión del ledger donde una enmienda se habilita, las reglas no cambian a mitad del ledger.

El ID del objeto Amendments es el hash de la clave de espacio Amendments (0x0066) únicamente. Esto significa que el ID del objeto Amendments en un ledger es siempre:

7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4

(No confundas el ID del tipo de objeto del ledger Amendments con el ID de Enmienda de una enmienda individual.)