Notas de la versión: v0.70.13
v0.70.13
Sección titulada «v0.70.13»Título: Mejorar la resiliencia del almacenamiento, la compatibilidad de red y la observabilidad del nodo
Fecha: Not provided
Versión: v0.70.13
Versión publicada: v0.70.13
Esta versión mejora el mantenimiento del almacenamiento SQLite, la validación del arranque, la compatibilidad de la gobernanza, el manejo del protocolo, la configuración de red, la supervisión del estado y los diagnósticos operativos. También actualiza los requisitos de compatibilidad con Cardano node y mejora el rendimiento de las importaciones confiables de Mithril.
Compatibilidad de red recomendada ⚠️
Sección titulada «Compatibilidad de red recomendada ⚠️»| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
Importante: La configuración de mainnet ahora usa GenesisMode y requiere Cardano node 11.1.0 o posterior.
✨ Aspectos destacados
Sección titulada «✨ Aspectos destacados»-
Mejoró el mantenimiento de SQLite WAL con checkpoints periódicos de mejor esfuerzo
TRUNCATEque usan conexiones dedicadas con un tiempo de espera de250 msy se detienen de forma segura durante los cambios del ciclo de vida. -
Registró la versión actual de
RewardStakeCalculationVersionen las instantáneas de recompensas importadas, lo que permite que los arranques nuevos de Mithril superen la validación de la versión de contabilidad. -
Impidió el truncamiento del almacenamiento principal antes del límite de retención de UTxO consumidas, conservando el historial necesario para las consultas válidas.
-
Actualizó
GetGenesisConfigpara usar el formato compactoNtC 21+y conservar la codificación heredada para los llamadores antiguos o directos. -
Conservó la identidad de credencial DRep tipada, añadió anclas anulables para las propuestas de gobernanza mediante la migración de metadatos v16, hizo atómica la expansión de migraciones de SQLite y mejoró la conformidad, el estado de reproducción y la selección del seguimiento de pares.
-
Rechazó el primer bloque de una cadena intermedia después de una reversión al origen, evitando que el nodo aceptara un reinicio de cadena no válido.
-
Configuró Koios con tiempos de espera explícitos de conexión, TLS, encabezado de respuesta y cliente, para que las solicitudes externas fallen dentro de límites definidos.
-
Almacenó en caché las sentencias preparadas de stake activo de recompensas con una retención limitada dentro de cada transacción, reduciendo la preparación repetida de sentencias sin conservarlas indefinidamente.
-
Aceptó outputs de Byron con valor cero y continuó rechazando los valores negativos con
OutputNegativeByronError. -
Resolvió la elección de claves VRF de Dijkstra en el slot capturado y conservó el comportamiento existente de Conway.
-
Aisló los accesorios de prueba de endpoints de BlockFetch para que el comportamiento de los endpoints permanezca independiente entre las pruebas.
-
Actualizó
gouroborosav0.205.2y renovó el manejo relacionado de direcciones, el comportamiento de keepalive y el envío local de transacciones. -
Renovó las configuraciones de red, las topologías y las instantáneas de mainnet, preprod y preview, además del registro de Musashi.
-
Agregó las cuentas de recompensa compartidas de Koios y notificó con precisión las discrepancias de cada pool.
-
Escaló los trabajadores opcionales de decodificación y validación del canal de bloques a
GOMAXPROCSdentro del rango compatible de2a8, y corrigió el manejo de la auditoría de continuación y el retroceso de recuperación. -
Limitó la duración de los resúmenes de hard fork y notificó los errores de desbordamiento en lugar de permitir que los resúmenes superaran los límites compatibles.
-
Detectó de forma proactiva los hard forks clásicos basados en quórum y mantuvo los horizontes sucesores anclados a la punta activa de la cadena.
-
Amplió la observabilidad de SQL con histogramas de duración de consultas y evitó que las recopilaciones de métricas de disco bloquearan las escrituras de SQLite.
-
Expuso
/health,/healthzy/readyzen un listener dedicado y configurable, con integración de comprobaciones de estado de Docker y Mithril. -
Pospuso únicamente la comprobación de plausibilidad de KES del certificado operativo durante el arranque cuando el historial confirmado queda por detrás del reloj de pared, y mantuvo su aplicación durante el tiempo de ejecución.
-
Deshabilitó las credenciales de checkout persistentes en CI y exigió autenticación explícita para publicar benchmarks.
-
Relajó únicamente la comprobación de la versión 9 del protocolo Conway para la delegación de votos de un DRep no registrado.
-
Elevó
wal_autocheckpointde SQLite a10000páginas y añadió métricas para las operaciones SQL, la actividad de WAL y el uso de disco. -
Sincronizó la imagen de contenedor de
cardano-configscon sus archivos de configuración integrados. -
Paralelizó la decodificación confiable de bloques de Mithril en lotes ordenados.
-
Añadió almacenamiento en caché para las operaciones INSERT de UTxO de
insertUtxoModely las búsquedas de identificadores de activos en SQLite y PostgreSQL, mientras conservó el comportamientoRETURNINGde MySQL mediante un manejo consciente del dialecto. El benchmarkBenchmarkInsertUtxoModelinformó aproximadamente entre15–30%menosns/oppara la ruta con caché que para la ruta heredada de una sola operación, pero este resultado se aplica únicamente a ese benchmark y no establece una garantía de rendimiento universal. -
Mejoró la selección de cadena con un periodo de enfriamiento de cambio de vuelta de
2-second, conservó los lotes de descarga de bloques activos durante las bifurcaciones ampliadas por reinicios y volvió a sincronizarse después de fallos de reinicio irrecuperables. -
Consolidó las actualizaciones del stake activo de recompensas para que cada credencial de stake única se actualice una sola vez por transacción.
-
Sustituyó el autenticador de la fase 2 de DMQ local por
gouroborosMessageAuthenticator, eliminódmq.AuthenticatoryNewAuthenticator, y reservó la conexión del nodo para una actualización futura. -
Documentó en el README las mediciones de arranque del modo de API de Mithril específicas de cada entorno para Preprod y Preview, e identificó los valores como líneas base de planificación y no como garantías de capacidad.
-
Validó los payloads de direcciones de puntero Shelley durante el análisis de UTxO y rechazó los punteros malformados.
-
Amplió la cobertura determinista de regresión de descarga de Leios para probar los límites de los tiempos de espera.
-
Actualizó los scripts de Antithesis para obtener hashes de claves de direcciones de stake con
cardano-cli latest stake-address key-hash. -
Controló el inicio de los listeners de API, limitó los monitores de contexto y evitó que el estado del ciclo de vida persistiera entre reinicios.
-
Ancló la codificación de encabezados de forja y la firma KES a una punta estable de la cadena cuando estuvo disponible, y rechazó los slots candidatos que no eran de génesis y no eran posteriores a la punta activa.
-
Elevó
maxLovelaceSupplydel génesis de prueba, añadió validación previa, corrigió la propiedad de claves y la compatibilidad con Bash, y trasladó las imágenes de MinIO a Quay. -
Reutilizó las sentencias preparadas delimitadas por transacción para las escrituras de transacciones por lotes de la API y usó el manejo
LastInsertIdde MySQL. -
Reservó capacidad de descarga de Leios antes de publicar las declaraciones, separó las declaraciones de manifiesto y de transacción, y liberó correctamente las reservas.
-
Aplicó las tarifas mínimas implícitas de transacciones Byron mediante la política activa de tarifas de Byron e informó
FeeTooLowByronErrorcuando una transacción quedó por debajo del mínimo.
Docs authored by Doc Holiday