Saltar al contenido

Notas de la versión - v0.195.0

Título: Mejora la gobernanza, la descarga de bloques y la validación de transacciones

Fecha: 24 de agosto de 2026

Versión: v0.195.0

Esta versión refuerza la validación de la gobernanza de Conway, añade el canalizado opcional de solicitudes de BlockFetch, mejora la validación de transacciones y actualiza el comportamiento del consenso y las dependencias.

  • Mejoró la validación de la gobernanza de Conway: Las comprobaciones de sucesión de bifurcaciones duras y de ascendencia de propuestas ahora rechazan relaciones no válidas. Las acciones de propuesta y voto en una misma transacción se resuelven correctamente, y las restricciones de DRep, comité constitucional, operadores de grupos de participación y Bootstrap usan el contenido resuelto de las acciones. Los operadores de grupos de participación ya no pueden votar en acciones ParameterChange fuera del grupo de seguridad. El contenido opcional de las acciones de gobernanza, el estado de la raíz del propósito y SecurityGroupFields() proporcionan el estado necesario para estas comprobaciones. Más información.

  • Añadió el canalizado de solicitudes de BlockFetch: El cliente puede activar solicitudes de rangos simultáneas mediante Client.RequestRange(ctx, RangeRequest) y Config.RequestPipelining. Las solicitudes FIFO reciben respuestas en orden y una devolución de llamada Config.RangeDoneFunc cada una. La admisión, que reconoce el contexto, limita las solicitudes según los bytes serializados esperados; el valor predeterminado de Config.MaxInFlightBytes es 9.011.200 bytes (100 x 88 KiB). El comportamiento predeterminado de una sola solicitud pendiente se mantiene cuando el canalizado está desactivado. GetBlock ahora devuelve el error exportado blockfetch.ErrNoBlocks cuando un lote no contiene bloques, y Protocol.SendMessageContext y AllowPipelinedSend permiten envíos canalizados que reconocen el contexto. Más información.

  • Centralizó la validación de scripts Plutus: Los asistentes compartidos para entradas de transacciones y scripts Plutus ahora sirven para la validación de Conway y Dijkstra. Los scripts de referencia nativos y no Plutus ya no aparecen entre los scripts Plutus disponibles, y la alternativa de Dijkstra reutiliza las entradas resueltas para evitar búsquedas redundantes. Más información.

  • Cambió la selección de bifurcaciones profundas de Praos: Las bifurcaciones profundas ahora siguen el comportamiento canónico de densidad primero de Genesis al comparar el número entero de bloques dentro de la ventana de Genesis configurada. Las bifurcaciones superficiales mantienen la selección habitual. La interfaz ChainTip ahora expone BlocksInWindow en lugar de la densidad, y las API del selector usan ForkPoint y valores de retroceso en bloques. ComputeGenesisWindow ahora usa división con redondeo hacia arriba y protege contra coeficientes no válidos. Antes de actualizar, las implementaciones que proporcionan ChainTip y las llamadas a las API del selector deben adoptar los nuevos campos y valores de retroceso. Más información.
  • Corrigió las comprobaciones de datums inline de Plutus V1 en Babbage: La validación ahora aplica la restricción de datums inline solo a los scripts requeridos por los propósitos de las transacciones. Examina las entradas consumidas resueltas, las entradas de referencia y las salidas, incluye testigos Plutus V4 y evita informar dos veces de errores de resolución de entradas. Más información.

  • Aceptó entradas heredadas duplicadas: Los conjuntos de entradas sin etiquetar de Shelley a Babbage ahora agrupan los miembros duplicados y conservan sus bytes CBOR originales. Los conjuntos Alonzo y Babbage con etiqueta siguen rechazando duplicados, por lo que mantienen la validación de los conjuntos etiquetados explícitamente. Más información.

  • Actualizó la decodificación CBOR: El módulo raíz y ocho módulos de ejemplo ahora usan github.com/fxamacker/cbor/v2 v2.9.3, que mitiga un posible pánico al decodificar ciertos valores CBOR en time.Time. El código de producción no cambia. Más información.

  • Estandarizó el formato de Go: El formato ahora coincide con las reglas gofumpt requeridas por golangci-lint v2.13.0. El comportamiento en tiempo de ejecución no cambia. Más información.

  • Renovó las dependencias de pruebas de los ejemplos: El módulo examples/ping ahora usa github.com/stretchr/testify v1.12.1 y go.yaml.in/yaml/v3 v3.0.5. El comportamiento del código fuente y de la API no cambia. Más información.

  • Alineó las dependencias de protobuf: El módulo raíz y ocho módulos de ejemplo ahora usan google.golang.org/protobuf v1.36.12, lo que mantiene coherentes las compilaciones de ejemplo basadas en reemplazos. El comportamiento de la API no cambia. Más información.

  • Mejoró las dependencias de pruebas raíz: El módulo raíz ahora usa github.com/stretchr/testify v1.12.1 con dependencias YAML indirectas y transitivas actualizadas. Las API del proyecto no cambian. Más información.



Doc Holiday logo

Docs authored by Doc Holiday

Editar página

Última actualización: