¡Anunciamos el lanzamiento de nuevas funciones de contrato inteligente con Pact 4.6!
Kadena está trabajando arduamente para ofrecer visiones nuevas y mejoradas de la industria de la cadena de bloques y sus herramientas. En particular, el equipo de Pact se complace en anunciar mejoras en la API de Pact de cadena de bloques pública de Kadena junto con desarrollos y nuevas incorporaciones al lenguaje en sí. A medida que Kadena madura, estamos aportando un nuevo enfoque a la experiencia del usuario/experiencia del desarrollador de la plataforma y sus herramientas, lo que incluye la visualización de futuras soluciones L2 en el ecosistema. Para iniciar estos esfuerzos, Kadena presenta las siguientes características nuevas:
Como resultado de la nueva colaboración entre Kadena y Electron Labs, Pact ha incluido varias funciones integradas nuevas que permiten a los usuarios crear soluciones de conocimiento cero.
pairing-check: realiza los puntos de emparejamiento y exponenciación final en los pares de curvas BN254. point-add: suma dos puntos que se encuentran en la curva BN254. La suma de puntos está en F_q o en F_q^2.scalar-mult: multiplica un punto que se encuentra en la curva BN254 por un valor entero escalar.
Juntos, estos nativos proporcionan la base para la construcción y verificación de pruebas de conocimiento cero. Si bien la generación de pruebas sigue siendo algo que el usuario debe proporcionar mientras tanto, esto permite que al menos el cálculo de puntos y la verificación de pruebas existan en la cadena, lo que proporciona un fuerte testimonio criptográfico de las pruebas ZK en un entorno de ejecución descentralizado.
El equipo de Pact recientemente dio la bienvenida a Robert Soeldner al equipo como desarrollador de Haskell y como persona clave en el motor de verificación formal integrado de Pact. En un período de tiempo relativamente corto, Pact terminó con muchas actualizaciones de errores sobresalientes en el sistema FV, así como una gran cantidad de avances de UX para la instrumentación circundante. Entre las correcciones se encuentran mejoras en el verificador de tipos y varias advertencias destacadas para problemas conocidos con ciertas funciones integradas como select, además de la capacidad de los usuarios para estudiar la salida de SMTLib por módulo utilizando la sobrecarga del indicador de verificación de depuración.
Una de las características que se echaba mucho de menos y que desapareció en la iteración más reciente de la cadena de bloques pública de Kadena fue la salida de error desde el punto final /send. Esto creó un lapso en la cobertura de errores, donde el punto final /local, el punto final de simulación de transacción local del nodo de Kadena, no era lo suficientemente sólido como para proporcionar mensajes de error precisos. /send, el medio anterior por el cual se generaban los errores de transacción, ahora no pudo hacerlo . Por lo tanto, decidimos mejorar /localendpoint hasta el punto en que casi incluiría la simulación de transacciones usando /send. Si bien en Kadena entendemos que este fue un período bastante difícil para los usuarios, ofrecemos una solución de dos partes en dos cuotas separadas:
/local ahora cuenta con una API de simulación previa al vuelo, que lleva las simulaciones de transacciones /locales lo más cerca posible de /send: todos los metadatos de las transacciones se validan como lo harían en /send, la ejecución de transacciones cubre la amplitud total de los costos de gas desde el tamaño de la transacción al costo de la compra de gas además del costo de ejecutar la función, ¡y la nueva API es totalmente compatible con los flujos de trabajo locales existentes! Lea más sobre esto aquí: https://github.com/kadena-io/chainweb-node/pull/1585/send en futuras actualizaciones de nodos, se establecerá de forma predeterminada en una API de código de error que permitirá a los usuarios consultar errores de transacción en cadena utilizando nuestra oferta de Chainweb Data. Esto ofrece dos beneficios que es importante considerar para la escalabilidad del sistema a medida que más y más usuarios ingresan: no tenemos que almacenar mensajes de error frágiles en la cadena, y los códigos de error son mucho menos propensos a exploits que bloquean el error. formatos tal como existen actualmente en Pact, lo que nos permite cambiar las representaciones internas en Pact sin afectar la semántica en cadena.
Queremos saber de usted a medida que mejoramos los errores relacionados con UX/DX en Pact y sus API. Los comentarios de los usuarios se tienen en cuenta en todos los pasos del proceso de mejora.
¡Haga oír su voz sobre nuestros problemas!
A medida que Pact se prepara para su eventual migración a Pact Core, algunas funciones quedarán obsoletas en el período previo al lanzamiento. Para dar a conocer estas obsolescencias, en lugar de escribir un artículo para cada obsolescencia en el ciclo, Pact ahora cuenta con un sistema que proporciona una advertencia cuando ciertas construcciones que van a quedar obsoletas están en uso. Además, cuando uno va a usar el simulador /localpreflight, el punto final entrega cualquier advertencia relevante en el flujo de trabajo de ejecución de transacciones como un mensaje devuelto junto con el resultado de la ejecución.
Kadena continúa mejorando la historia de Pact existente tanto para usuarios como para desarrolladores, mientras que Pact se prepara para su migración a Pact Core. A medida que avanzamos con nuevas mejoras a nuestro ritmo vertiginoso actual, tampoco podemos olvidar lo increíble que es ver la participación de la comunidad tanto en el proceso de diseño (en problemas, en solicitudes de extracción) como en el envío de contenido al idioma. En particular, nos gustaría agradecer a los nuevos colaboradores @qooboodoop y @omahs, quienes brindaron un gran avance a los valores predeterminados y la documentación del servicio Pact, respectivamente. Esperamos ver más de la comunidad a medida que crecemos y vemos más adopción.
Visítenos en GitHub para leer la versión completa de Pact 4.6: https://github.com/kadena-io/pact/releases/tag/v4.6.0