Saltar al contenido

Notas de la versión: 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.

NetworkCompatible
mainnet
preprod-testnet
preview-testnet
musashi
  • 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 ChainsyncResync despué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/compress a 1.19.2 para 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_ENABLED o --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-go a 1.27.7.

  • Amplió la seguridad de los servicios de escucha de API con valores predeterminados compartidos de api.tls y api.auth, anulaciones por proveedor en plugins.api.<name>.config y 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=disable a sslmode=require. Las cadenas de conexión explícitas no cambian, mientras que los despliegues que requieren texto plano deben establecer sslMode: disable de 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 Warn los 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_ADDR y --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 UtxosByTxIn para 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/api 0.292.0 y 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_PEERS o --target-root-peers. La configuración de Dingo tiene prioridad sobre la configuración de Cardano, el valor predeterminado es 60, -1 significa 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.md y docs/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/balance ahora usan el bloque solicitado, devuelven block-not-found cuando 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/core del ejemplo Sundae Preview a 2.13.1 y su dependencia transitiva @sundaeswap/math a 0.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 en examples/dingo-sundae-preview, de 8.2.0 a 8.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.1 junto 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.0 y 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 0 durante 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 LA solo 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 RestoreRecovery que 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.ReadState de UTxORPC v1beta para GetStakePoolDistribution de Cardano, con orden determinista, una punta del ledger coherente, filtros acotados y validados, y errores estructurados de indisponibilidad. Los clientes ya no reciben UNIMPLEMENTED para 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 de Retry-After. Ahora la exportación de trazas HTTP de OTLP admite valores attribute.MAP.

  • Renombró la interfaz de control de transacciones de metadatos de metadata.TransactionStore a metadata.TxnStore al separar interfaces de almacenamiento más específicas. El código descendiente que usa metadata.TransactionStore para los controles de transacciones debe cambiar a metadata.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 statementTimeout y lockTimeout, y los ajustes MySQL statementTimeout, lockTimeout, readTimeout y writeTimeout para 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: 0 deshabilita la expulsión FIFO, los valores predeterminados ahora son evictionWatermark: 0 y rejectionWatermark: 1.0 en lugar de 0.90 y 0.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 restore y dingo database truncate. Los comandos validan antes de los restablecimientos destructivos, las copias de respaldo en la nube usan datos enmarcados, snapshotDir debe poder escribirse y los entornos Docker de base de datos incluyen UID/GID 1000:1000 y 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 nodo 11.1.0-prototype-2026w32 y 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.000 entradas, mientras que los mapas genéricos siguen limitados a 10.000.000 entradas.

  • 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 KiB el 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.31 a 1.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-enabled o DINGO_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ó GetUTxOByAddress para 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-http o la variable DINGO_MITHRIL_ALLOW_INSECURE_HTTP como válvula de escape.

  • Elevó el controlador PostgreSQL pgx de 5.9.2 a 5.10.0 e incorporó correcciones para los límites de decodificación, CancelRequest mediante TLS y la gestión de conexiones.

  • Renovó la dependencia de desarrollo @types/node de Sundae Preview de 26.1.2 a 26.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 delegatorInactivityEnabled y delegatorInactivity, 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 404 de S3.

  • Conservó y reparó los índices transaction_id necesarios 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.0 y actualizó protobuf, incluido el comportamiento ascendente de selección de cadenas en bifurcaciones profundas.

  • Aumentó a 1.26.7 las versiones mínimas de Go de los módulos anidados, añadió govulncheck a 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 slotsPerKESPeriod de 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.Root verificados 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 es 1.26.7 y govulncheck ahora 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 id de 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 main y 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, plutigo v0.3.0 y testify v1.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:3001 de 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-v2 de 1.43.6 a 1.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


Doc Holiday logo

Docs authored by Doc Holiday

Editar página

Última actualización: