Notas de la versión: v0.70.0
v0.70.0
Sección titulada «v0.70.0»Título: Fortalecer la validación del ledger, la fiabilidad del nodo y la seguridad operativa
Fecha: Not provided
Versión: v0.70.0
Esta versión fortalece la validación de Byron y la recuperación durante la reproducción, mejora la fiabilidad de la sincronización y el apagado, amplía la seguridad y las capacidades de consulta de las API, y actualiza las herramientas operativas, las dependencias y la documentación.
Compatibilidad de red recomendada
Sección titulada «Compatibilidad de red recomendada»| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
Aspectos destacados
Sección titulada «Aspectos destacados»-
Mejoró la reproducción de Byron al recuperar testigos de canje válidos que usan la etiqueta CBOR 24 desde los datos de la transacción original, verificar las firmas con el magic de protocolo y las etiquetas de dominio configurados para Byron, y asociar cada testigo con la raíz de dirección de su entrada correspondiente. La reproducción de mainnet desde el génesis ahora acepta entradas Byron válidas, incluidas las entradas de redes privadas con un magic de protocolo personalizado.
-
Optimizó la reversión y la resincronización al publicar eventos
ChainsyncResyncdespués de liberar los bloqueos de sincronización. La presión de los suscriptores ya no bloquea la reversión ni la resincronización, ni detiene chainsync. -
Conservó la evidencia de fallos de DevNet al guardar instantáneas observadas de la cadena, el estado de los contenedores y registros de servicio limitados en directorios de artefactos separados durante la limpieza. Los fallos intermitentes de los escenarios conservan los diagnósticos después de desmontar el entorno.
-
Fortaleció las comprobaciones criptográficas y de encabezados para los bloques Byron PBFT, además de reconstruir, almacenar en caché y gestionar el límite de confianza del estado de emisión y delegación con Mithril. Estas comprobaciones rechazan encabezados históricos no válidos, mientras que el procesamiento válido mantiene la coherencia tras reinicios y reversiones; los errores actuales del reloj de slots ya no activan la recuperación de encabezados.
-
Actualizó
github.com/klauspost/compressa1.19.2para incorporar correcciones y mejoras del proyecto de origen en zstd y huff0. -
Introdujo una canalización experimental y opcional para decodificar bloques en paralelo con dos trabajadores, configurable mediante
blockPipelineEnabled,DINGO_BLOCK_PIPELINE_ENABLEDo--block-pipeline-enabled. La validación y la aplicación conservan el orden serial, el inicio rechaza la opción en Musashi y el tratamiento de reintentos permanece aislado; esta opción experimental sigue deshabilitada de forma predeterminada. -
Renovó las versiones fijadas de la acción de checkout del flujo de trabajo a
7.0.1, incorporando correcciones de seguridad del proyecto de origen al proceso de integración continua. -
Incorporó las correcciones de serialización del SDK de AWS y una corrección para un error crítico en la recopilación recursiva al actualizar
github.com/aws/smithy-goa1.27.7. -
Amplió la seguridad de los servicios de escucha de API con valores predeterminados compartidos de
api.tlsyapi.auth, anulaciones por proveedor enplugins.api.<name>.configy autenticación por token para Blockfrost, Mesh y UTxORPC. La configuración rechaza ajustes incompletos de TLS o autenticación antes de iniciar los servicios, omite la autenticación en las solicitudes previas de CORS y conserva el comportamiento TLS anterior de UTxORPC. -
Cambió la conexión predeterminada de metadatos de PostgreSQL de
sslmode=disableasslmode=require. Las cadenas de conexión explícitas no cambian, mientras que los despliegues que requieren texto plano deben establecersslMode: disablede forma explícita. -
Resolvió los bloqueos de blockfetch al liberar los bloqueos alrededor de las solicitudes, drenar el trabajo anterior de cada conexión, ignorar las generaciones obsoletas, trasladar las continuaciones a trabajadores y limitar el apagado. La sincronización y el apagado ya no se atascan por interacciones entre funciones de devolución y presión de los suscriptores, y Dingo ahora registra con nivel
Warnlos tiempos de espera repetidos de operaciones en curso. -
Verificó las claves BLS de Leios y la prueba de posesión en la cadena con comités deterministas seleccionados según la cobertura de participación. Dingo ya no usa claves de respaldo derivadas y exige que las claves de firma configuradas coincidan con las claves registradas en la cadena; este comportamiento experimental impide que operadores sin clave o con claves incompatibles contribuyan con votos verificados.
-
Corrigió el cálculo de retiros de recompensas al exponer
LedgerView.RewardAccountBalance, rechazar retiros superiores al saldo disponible, restar los retiros parciales y conservar la validación de retiros de valor cero. Los saldos ahora mantienen la coherencia durante los retiros parciales, la reproducción y la reversión. -
Mantuvo la selección de bifurcación de Genesis configurada durante las operaciones de restauración y truncamiento en vivo, de modo que la selección continúa activa sin reiniciar el nodo.
-
Aisló la dirección de enlace de pprof mediante
debugBindAddr,DINGO_DEBUG_BIND_ADDRy--debug-bind-addr. El servicio de depuración ahora usa el loopback de forma predeterminada, independientemente de los enlaces públicos o privados, tanto en las rutas de serve como de Mithril; la exposición mediante una dirección comodín requiere una configuración explícita. -
Habilitó las consultas
UtxosByTxInpara aceptar varias entradas de transacción mediante búsquedas por lotes, sin duplicados y que Dingo procesa por fragmentos. Las consultas del ledger omiten las entradas activas que faltan, mientras que UTxORPC conserva su error cuando falta el contrato. -
Refinó el conjunto de dependencias de Google API con
google.golang.org/api0.292.0y alineó las dependencias de gRPC y genproto, actualizando las definiciones de los clientes y las sumas de comprobación. -
Completó los bloques de endosadores de Leios con una descarga parcial cuando los pares vuelven a ofrecerlos, conservando el progreso disperso de las transacciones y solicitando únicamente las entradas finales que faltan. Un límite de expiración para las entradas incompletas de la caché evita conservarlas indefinidamente; este comportamiento experimental ayuda a que los bloques cercanos a la punta terminen de descargarse en lugar de reiniciar la descarga parcial.
-
Reforzó la validación de las versiones con comprobaciones para detectar condiciones de carrera y tiempos de espera, un manejo más seguro del shell, comprobaciones de manifiestos para varias arquitecturas, acciones fijadas y permisos reducidos. La automatización de versiones ahora protege las versiones publicadas frente a eliminaciones o sobrescrituras durante los reintentos.
-
Recuperó el nodo de fallos deterministas de transacciones durante la reproducción al identificar entradas duplicadas, realizar una reversión limitada y recuperar una intersección nueva, además de limitar los intentos repetidos mediante un mecanismo de control. Estos fallos ya no provocan una rotación interminable de pares ni detienen la reproducción.
-
Configuró la selección de pares raíz mediante
targetNumberOfRootPeers,DINGO_TARGET_ROOT_PEERSo--target-root-peers. La configuración de Dingo tiene prioridad sobre la configuración de Cardano, el valor predeterminado es60,-1significa sin límite, la reinicialización en vivo aplica los cambios sin reiniciar el nodo y Dingo conserva los pares raíz locales. -
Aseguró la extracción de archivos de Mithril al rechazar enlaces simbólicos de destino y condiciones de carrera entre la comprobación y el uso, verificar los resúmenes criptográficos y publicar árboles que Dingo valida de forma atómica. Las políticas exclusive, merge y replace controlan la extracción, y una extracción exclusive en un destino no vacío ahora requiere la política replace.
-
Protegió el almacenamiento después de un vaciado incompleto del ledger al omitir el apagado de la base de datos y los plugins y devolver un error explícito. Esto evita cerrar el almacenamiento mientras el ledger aún puede tener trabajo activo y reduce el riesgo de corrupción.
-
Ocultó la configuración que contiene secretos de los registros de inicio mediante un tratamiento estructurado y seguro ante fallos para tokens, claves, contraseñas, DSN y campos desconocidos. Los registros de texto y JSON conservan los detalles necesarios para solucionar problemas sin exponer secretos.
-
Documentó el descubrimiento estandarizado mediante
docs/README.mdydocs/code-reference.md. Los archivos de orientación del repositorio ahora enlazan a estas páginas para que lectores y agentes de programación encuentren documentación correspondiente a la versión. -
Corrigió la previsión de épocas en los límites de hard fork y de era para que los parámetros en caché nunca crucen un límite confirmado o configurado; el ledger aplica los parámetros de la era sucesora durante la rotación completa y conserva la clasificación de verificación diferida de encabezados.
-
Amplió la cobertura de contratos de Mesh y Rosetta y corrigió la traducción entre altura e índice de bloques. Las solicitudes históricas de
/account/balanceahora usan el bloque solicitado, devuelvenblock-not-foundcuando el punto no se resuelve y anuncian la consulta histórica. -
Protegió las rutas de sockets Unix mediante comprobaciones de metadatos, actividad e identidad, y solo elimina sockets obsoletos confirmados. El inicio conserva archivos normales, enlaces simbólicos, directorios, sockets activos y rutas ambiguas, y comunica claramente el fallo.
-
Actualizó la dependencia
@sundaeswap/coredel ejemplo Sundae Preview a2.13.1y su dependencia transitiva@sundaeswap/matha0.3.0; esta última requiere TypeScript 5 para el entorno de compilación del ejemplo. -
Mejoró las herramientas de desarrollo y compilación del ejemplo Sundae Preview al actualizar
vite, la dependencia de desarrollo enexamples/dingo-sundae-preview, de8.2.0a8.2.1, y renovar el archivo de bloqueo y el grafo de dependencias correspondientes. -
Renovó la dependencia Vite del ejemplo Blockfrost Explorer a
8.2.1junto con el archivo de bloqueo correspondiente, e incorporó correcciones y mejoras del proyecto de origen. -
Mejoró la limpieza de DevNet para que siga siendo tolerante a fallos sin reemplazar el estado de salida de la prueba subyacente. Las claves de stake temporales conservan ahora el usuario y grupo del host, y la limpieza gestiona los directorios temporales con mayor fiabilidad.
-
Verificó los mensajes exactos de ChainSync intercambiados entre pares mediante fixtures de protocolo compartidos y una búsqueda de cliente sin efectos secundarios, haciendo visibles las regresiones de protocolo mediante el comportamiento real de los mensajes.
-
Reforzó las comprobaciones de paridad de recompensas y retiros con auxiliares seguros frente a valores nulos e iteraciones modernizadas, manteniendo limpio el análisis estático previo a la confirmación sin cambiar el comportamiento de producción.
-
Alineó los ejemplos Kubernetes desplegables de Blockfrost Explorer, Gov Lens y Sundae Preview con las imágenes de Dingo
0.70.0y las versiones correspondientes de los README. -
Habilitó la sincronización opcional de registros de tokens CIP-26 en modo API y el almacenamiento local de metadatos para respuestas de activos de Blockfrost. Los operadores pueden configurar el origen, el intervalo, los tiempos de espera, los límites de tamaño, el almacenamiento de logotipos y la admisión de direcciones privadas mediante YAML, variables de entorno o indicadores CLI; la función está deshabilitada de forma predeterminada y el registro de mainnet ocupa aproximadamente
240 MB. -
Restauró el estado de la era Byron en el slot
0durante la sincronización desde el génesis para redes con génesis Byron, evitando parámetros con forma Shelley y omitiendo el cálculo de recompensas Byron cuando no corresponde. Una geometría obsoleta de la caché de épocas ahora genera una advertencia que requiere resincronizar con una base de datos vacía; Dingo no la repara automáticamente. -
Aclaró las comprobaciones de permisos de archivos de claves de Windows al distinguir entre un trustee DACL no resoluble y uno extranjero. El alias
LAsolo se acepta cuando la propiedad corresponde a Built-in Administrators, mientras que la propiedad insegura continúa siendo rechazada. -
Fortaleció la recuperación de restauraciones remotas con validación previa, copias de respaldo para pares de metadatos y blobs, reversión compensatoria y un controlador
RestoreRecoveryque permite reintentar. Las restauraciones externas fallidas ya no dejan un estado mixto entre proveedores y los nodos permanecen detenidos mientras la reversión requiere atención. -
Implementó
QueryService.ReadStatede UTxORPC v1beta paraGetStakePoolDistributionde Cardano, con orden determinista, una punta del ledger coherente, filtros acotados y validados, y errores estructurados de indisponibilidad. Los clientes ya no recibenUNIMPLEMENTEDpara esta consulta. -
Cerró el EventBus en la prueba de cancelación de suscripción para que finalice su trabajador asíncrono, evitando que las pruebas del paquete de eventos dejen un trabajador activo sin cambiar el comportamiento de producción.
-
Mejoró los errores de análisis y decodificación de YAML al incluir la ruta resuelta del archivo de configuración, y mantuvo parseable el archivo de configuración incluido como ejemplo. Los fallos de inicio ahora identifican el archivo que requiere corrección.
-
Actualizó las credenciales del SDK de AWS y las versiones y sumas de comprobación de módulos relacionados, incorporando mantenimiento del proyecto de origen y correcciones de manejo de respuestas S3 en las compilaciones.
-
Reenvió los votos aceptados de pares mediante relays de Leios al reutilizar la cola de difusión sin duplicar la difusión durante las reconstrucciones del ciclo de vida en vivo. Este comportamiento experimental permite que los productores de bloques prototipo conectados mediante relays reciban votos reenviados.
-
Ajustó las dependencias de OpenTelemetry para que los endpoints HTTP de OTLP sin ruta ya no añadan
/v1/traces; las configuraciones de endpoints pueden necesitar una ruta de señal explícita como/v1/traces, y cambió el manejo deRetry-After. Ahora la exportación de trazas HTTP de OTLP admite valoresattribute.MAP. -
Renombró la interfaz de control de transacciones de metadatos de
metadata.TransactionStoreametadata.TxnStoreal separar interfaces de almacenamiento más específicas. El código descendiente que usametadata.TransactionStorepara los controles de transacciones debe cambiar ametadata.TxnStore. -
Fijó las referencias de la acción Docker Buildx en
4.3.0, de modo que la integración continua y la publicación usan la acción fijada más reciente. -
Limitó la limpieza de UTxO consumidos a lotes acotados y permitió que las esperas de blockfetch observen la cancelación del ledger, manteniendo la sincronización inicial y el desmontaje con capacidad de respuesta.
-
Añadió los ajustes PostgreSQL
statementTimeoutylockTimeout, y los ajustes MySQLstatementTimeout,lockTimeout,readTimeoutywriteTimeoutpara el trabajo de metadatos. Las transacciones SQL propagan ahora la cancelación y validan los tiempos de espera; todos los campos tienen valor predeterminado cero y los DSN explícitos ignoran estos campos de tiempo de espera del proveedor. -
Introdujo comparaciones de benchmarks programadas y manuales con historial persistente, informes de ralentizaciones estadísticamente significativas y seguridad para enlaces simbólicos y rutas. Las desviaciones de los benchmarks se muestran sin bloquear las confirmaciones.
-
Delimitó los parámetros de recompensas importados a las instantáneas relevantes con stake positivo, agrupó de forma determinista los errores de pools incompletos y corrigió la atribución de las advertencias de omisión. La inicialización de recompensas importadas por Mithril evita ahora pools no relacionados e informa de todas las entradas incompletas.
-
Habilitó la expulsión opcional del mempool:
evictionWatermark: 0deshabilita la expulsión FIFO, los valores predeterminados ahora sonevictionWatermark: 0yrejectionWatermark: 1.0en lugar de0.90y0.95, los valores positivos de expulsión deben permanecer por debajo del umbral de rechazo y el envío de transacciones ahora considera el margen de admisión disponible. -
Ofreció comandos de instantánea, restauración y truncamiento de la base de datos para los metadatos y datos de PostgreSQL, MySQL, S3 y GCS:
dingo database snapshot,dingo database restoreydingo database truncate. Los comandos validan antes de los restablecimientos destructivos, las copias de respaldo en la nube usan datos enmarcados,snapshotDirdebe poder escribirse y los entornos Docker de base de datos incluyen UID/GID1000:1000y herramientas cliente de base de datos. -
Evitó que los nodos dejen de seguir la cadena silenciosamente al resolver los bloqueos de entrega de eventos y de red a cadena, así como los bloqueos de actividad de encabezados diferidos. La telemetría del umbral de líderes y de la canalización ahora muestra el progreso, las bases de recompensas importadas reciben su estado inicial y el inicio de SQLite WAL es más fiable.
-
Añadió compatibilidad con la nueva versión del prototipo Musashi
2026w32, incluidos los datos actualizados de génesis, protocolo, topología e instantáneas. Esta versión requiere el nodo11.1.0-prototype-2026w32y utiliza el esquema de instantáneas actualizado. -
Actualizó las dependencias del controlador de SQLite y de su motor integrado.
-
Posposó la limpieza de UTxO consumidos durante la puesta al día cuando el nodo está materialmente por detrás de una punta ascendente conocida y evitó ejecuciones de limpieza simultáneas. Cuando se desconoce la punta ascendente, la limpieza recurre a la punta local.
-
Normalizó los metadatos de las instantáneas de Mithril antes de comprobar las rutas de caché, validando la identidad de la red y del resumen, y aplicando rutas coherentes de caché y extracción para v1 y v2.
-
Mejoró la selección de bifurcación y la recuperación al confiar en las fronteras entregadas por los pares en lugar de las puntas anunciadas, incluido un historial seguro frente a las reversiones.
-
Estabilizó la telemetría de la base de datos con un comportamiento coherente de las señales, comprobaciones de salud del grupo de conexiones y correcciones para analizar DSN de sockets Unix. Dingo ya no ofrece las señales heredadas ni el ajuste de activación voluntaria.
-
Renovó las definiciones de tipos de Node.js para desarrollo de Blockfrost Explorer.
-
Definió la cobertura de paridad de Koios mediante una matriz de cobertura, coincidencia estricta de épocas y omisiones de paridad explícitas en los informes.
-
Reforzó las atestaciones de integración continua con la acción de atestación actualizada.
-
Amplió los mapas CBOR de UTxO procesados por secuencias para admitir hasta
100.000.000entradas, mientras que los mapas genéricos siguen limitados a10.000.000entradas. -
Delimitó las comprobaciones de funcionalidades de Conway a los scripts que las necesitan, de modo que los scripts de referencia Plutus V1 y V2 disponibles pero no relacionados ya no provocan el rechazo de funcionalidades de Conway.
-
Ajustó la dependencia del exportador de salida estándar de OpenTelemetry.
-
Silenció los mensajes rutinarios de instantáneas de Mithril al trasladar los detalles de sincronización de cada archivo al nivel
DEBUG, manteniendo visible el progreso agregado. -
Aclaró la difusión de votos de pares de Leios: los votos de pares ahora reciben un eco de un salto a través del relay.
-
Gestionó los bloques de frontera entre varias eras al validar las transiciones autorizadas entre dos eras, aplicar primero la transición de origen y después la sucesora, y registrar la versión del protocolo de la era final en la instantánea.
-
Ignoró los encabezados históricos de la cadena principal durante la reproducción de la cadena principal para que ya no activen la resolución de bifurcaciones, y evitó que la búsqueda local de encabezados recurra al almacenamiento de archivos.
-
Conservó los tamaños en la red de las transacciones de actualización Shelley y Allegra reconstruidas antes de Alonzo para validar las comisiones y el tamaño. Los parámetros de protocolo con valor nulo tipado ahora devuelven un error de incompatibilidad.
-
Sincronizó el tratamiento de la resincronización de la recuperación terminal para que la recuperación alcance su estado final de forma determinista.
-
Reforzó la validación estricta de la vista previa de Koios al propagar los fallos de paridad como errores fatales, omitir los análisis de cuentas anteriores al staking, establecer en
4 KiBel límite predeterminado del cuerpo de las solicitudes de historial de recompensas de cuentas y corregir el orden y el tiempo de las transiciones en los límites del ledger. -
Admitió sincrónicamente los bloques forjados localmente sin buscar coincidencias de propuestas en EventBus y ejecutó los observadores después de la admisión.
-
Rechazó los encabezados futuros de ChainSync al registrar la hora de llegada a la red, esperar hasta el inicio del slot dentro de una ventana de desfase de reloj de dos segundos cuando corresponde y descartar los encabezados fuera de la ventana sin cambiar el estado ni penalizar a los pares. Una única resincronización agrupada por conexión comienza ahora en el slot descartado más temprano, y la eliminación de la conexión o el apagado cancela los temporizadores pendientes.
-
Actualizó la dependencia de configuración del SDK de AWS de
1.32.31a1.32.37, incluido el mantenimiento ascendente del tratamiento de cuerpos de respuesta de S3. -
Introdujo una validación experimental y opcional de VRF y KES en la canalización de procesamiento de bloques mediante
blockPipelineValidateEnabled,--block-pipeline-validate-enabledoDINGO_BLOCK_PIPELINE_VALIDATE_ENABLED. También debe habilitarse el procesamiento de bloques; las mejoras de validación, recuperación y métricas solo se aplican cuando esta opción se habilita explícitamente y permanece desactivada de forma predeterminada. -
Aceleró los escenarios de DevNet impulsados por eventos, alineó las identidades de usuario y grupo de las pruebas con el host, protegió con bloqueos las publicaciones pendientes y conservó los artefactos de fallos para el diagnóstico.
-
Limitó las omisiones de validación de Musashi a un perfil de prototipo inequívoco y rechazó combinaciones de identidad de red contradictorias, estableciendo un límite claro de compatibilidad del prototipo.
-
Extrajo el reciclador de bloqueos de ChainSync a un componente gestionado por el ciclo de vida, conservando su comportamiento y mejorando el apagado y la capacidad de prueba.
-
Amplió
GetUTxOByAddresspara aceptar varias direcciones mediante filtros exactos, búsquedas por fragmentos y eliminación de duplicados. -
Exigió HTTPS para las URL del agregador y los artefactos de Mithril de forma predeterminada. El desarrollo y las pruebas locales pueden usar el ajuste
mithril.allowInsecureHttp, cuyo valor predeterminado es falso, el indicador--mithril-allow-insecure-httpo la variableDINGO_MITHRIL_ALLOW_INSECURE_HTTPcomo válvula de escape. -
Elevó el controlador PostgreSQL pgx de
5.9.2a5.10.0e incorporó correcciones para los límites de decodificación,CancelRequestmediante TLS y la gestión de conexiones. -
Renovó la dependencia de desarrollo
@types/nodede Sundae Preview de26.1.2a26.2.0. -
Corrigió la contabilidad completa de ExUnits Plutus finales para los lotes con slippage y amplió la cobertura de validación tipada.
-
Cambió la construcción de Ouroboros para exigir inyección de dependencias, cerrar y reemplazar instancias de forma segura durante la restauración en vivo y conservar los controladores. Los consumidores de la biblioteca deben proporcionar las dependencias requeridas al construir instancias de Ouroboros.
-
Controló las escrituras de testigos por inactividad de delegadores de CIP-0163 mediante los ajustes de nivel superior
delegatorInactivityEnabledydelegatorInactivity, junto con sus enlaces de CLI y entorno. Esta función que afecta al consenso permanece desactivada de forma predeterminada y no puede ejecutarse con el arranque de Mithril habilitado. -
Actualizó la imagen de cardano configs del prototipo Musashi a
20260817-1; los despliegues del prototipo deben reconstruirse y volver a desplegarse con la imagen actualizada. -
Acotó el apagado de PeerGovernor y el DNS y descubrimiento de pares del ledger mediante contextos y un tiempo de espera de apagado compartido.
-
Añadió identidad de artefactos e instantáneas, fases y recuentos agregados de archivos de los artefactos y las instantáneas de Mithril al progreso y los registros, con una única devolución de llamada para descargas inmutables simultáneas.
-
Mejoró las pruebas de conformidad y migración del almacenamiento compartido de blobs y metadatos, y corrigió el tratamiento de páginas vacías y respuestas
404de S3. -
Conservó y reparó los índices
transaction_idnecesarios para la limpieza de testigos durante los aplazamientos y reconstrucciones de índices, evitando la degradación del backfill en modo API. -
Elevó la dependencia gouroboros raíz de una pseudoversión a la versión publicada
v0.194.0y actualizó protobuf, incluido el comportamiento ascendente de selección de cadenas en bifurcaciones profundas. -
Aumentó a
1.26.7las versiones mínimas de Go de los módulos anidados, añadiógovulnchecka la integración continua y las instrucciones de preconfirmación, y actualizó la política de invocación del escáner. -
Reforzó la validación experimental y opcional de la canalización de bloques para que la reproducción rechace casos inválidos de OpCert y KES, propague errores y recupere fallos persistidos. La criptografía de admisión permanece cerrada ante fallos, y la combinación habilitada requiere un
slotsPerKESPeriodde Shelley distinto de cero; la opción sigue desactivada de forma predeterminada. -
Retuvo los eventos Apply del ledger hasta el commit durable y serializó el orden de Apply y Undo alrededor de las reversiones. Las transacciones fallidas ya no emiten eventos Apply.
-
Devolvió los errores de limpieza de transacciones de la distribución de stake en modo de solo lectura y los combinó con los errores de cálculo. Los consumidores pueden recibir una distribución junto con un error distinto de nulo.
-
Depuró la limpieza del analizador y la higiene de pruebas y benchmarks sin cambiar el comportamiento de producción.
-
Aseguró las operaciones de descarga y extracción de instantáneas de Mithril con controladores
os.Rootverificados para evitar escapes de enlaces simbólicos por condiciones de carrera entre la comprobación y el uso. La versión mínima del conjunto de herramientas de Go es1.26.7ygovulncheckahora bloquea las versiones. -
Corrigió la gestión de las reversiones de cuentas importadas desde Mithril o génesis al restaurar el estado activo, de pool y de DRep cuando no hay un certificado de registro disponible. Dingo actualiza automáticamente las bases de datos existentes y mantiene unidas las actualizaciones del estado de la cuenta y su referencia de reversión.
-
Detuvo el procesamiento del ledger cuando la validación de la ventana de confianza de Mithril no puede recuperarse mediante las rutas permitidas. Las señales persistentes de detención y de ventana de confianza irrecuperable, junto con los anuncios repetidos del error, indican cuándo se necesita una instantánea más reciente o una resincronización desde el génesis.
-
Compartió la decodificación de bloques y encabezados entre conexiones de pares para datos idénticos mediante una caché acotada y métricas de aciertos y fallos, reduciendo el trabajo repetido sin propagar fallos.
-
Validó la configuración de compilación de Docker para que las comprobaciones de BuildKit pasen antes de iniciar la compilación de una imagen, evitando que las expansiones de entorno indefinidas lleguen a la compilación.
-
Conservó el estado del padre EBB de Byron al reanudar el procesamiento desde el génesis o el arranque, garantizando la validación correcta del primer bloque Byron posterior al EBB del slot cero. La falta de clasificación del padre ya no omite la validación normal.
-
Limitó el almacenamiento en búfer de bloques decodificados a un lote de confirmación para los suscriptores de BlockFetch y a un lote de 50 bloques durante la reproducción de la cadena, reduciendo la memoria retenida sin perder la presión de retorno.
-
Amplió la paridad de cuentas de recompensa de Koios para comparar exactamente cada cuenta por época, con obtención y caché conscientes de la cobertura, informes de discrepancias, comprobaciones de cuentas independientes opcionales y validación que rechaza periodos de gracia negativos. Dingo activa de forma predeterminada las comprobaciones de cuentas del observador en proceso, que pueden aumentar las solicitudes a Koios.
-
Mejoró la portabilidad de DevNet al obtener los identificadores de usuario y grupo de Docker esperados mediante
idde Bash, de modo que las aserciones de limpieza funcionan en Linux, macOS y Windows Git Bash. -
Recuperó las operaciones de blockfetch en cola después de un rango no disponible al reintentarlas con el par activo más avanzado, informar de la recuperación solo después de iniciarla correctamente y borrar la selección obsoleta del par cuando fallan todos los intentos.
-
Omitió las pruebas de regresión del intercambio de directorios de Mithril en las plataformas que no pueden cambiar el nombre de directorios abiertos, manteniendo la cobertura donde la operación es compatible.
-
Añadió compilación y pruebas de Windows fuera de la ruta de publicación para los envíos a
mainy las ejecuciones manuales, con trabajos acotados y diagnósticos para pruebas bloqueadas. -
Liberó exactamente una vez la barrera de confirmación en cada ruta terminal de las transacciones, incluidos los fallos de sincronización de blobs, para que las escrituras posteriores y las operaciones de instantáneas no se atasquen.
-
Actualizó el entorno de validación de Antithesis a gouroboros
v0.194.0, plutigov0.3.0y testifyv1.12.0, junto con dependencias indirectas renovadas. -
Restauró las comprobaciones de líderes posteriores a Mithril mediante el punto de captura importado, garantizando la validación del umbral de participación durante la primera época completa después de un arranque a mitad de época y conservando la compatibilidad con el anclaje exacto anterior.
-
Eliminó el endpoint no disponible
backbone.mainnet.emurgornd.com:3001de la topología de mainnet, de modo que los nodos ya no intentan usar ese par de arranque después de un redespliegue. -
Elevó
aws-sdk-go-v2de1.43.6a1.43.7, incorporando correcciones ascendentes para la firma previa de S3 y el manejo de errores HTTP 200. -
Persistió los pools y las delegaciones efectivos de configuración adicional de Shelley y Musashi antes de capturar la instantánea del génesis, y rechazó asignaciones de pools duplicadas ambiguas sin exigir cambios de esquema.
Registro completo de cambios: v0.69.0…v0.70.0
Docs authored by Doc Holiday