Conozca todas las formas en que Pact 4 acelera el desarrollo seguro de contratos inteligentes
Los contratos inteligentes tienen que ver con hacer que las cosas sucedan: cada transacción en la cadena de bloques registra los activos que cambian de manos o los miembros de la comunidad que se comprometen a apoyar un proyecto. Con Pact 4, el lenguaje de contratos inteligentes más seguro y sencillo obtiene nuevas y potentes funciones para garantizar que las aplicaciones se envíen con la mayor seguridad, transparencia y funcionalidad posible. Con nuevas operaciones primitivas impulsadas por la comunidad, mejor soporte para eventos y cadenas cruzadas, y cobertura de código, Pact 4 es el lenguaje de contratos inteligentes más productivo de todos los tiempos.
Pact 4 trae importantes mejoras en funcionalidad, auditabilidad y transparencia, cosas que son más importantes que incluso cuando las economías y los mercados descentralizados continúan dominando las criptomonedas.
Hay más desarrolladores de Pact que nunca y con eso viene una presión positiva sobre el lenguaje para desarrollar nuevas funciones poderosas que continúen la filosofía de Pact de "más seguro no significa más débil": de hecho, Pact 3.x ya viene con más funcionalidad incorporada. que cualquier lenguaje de contratos inteligentes. Aún así, los desarrolladores serán desarrolladores y encontrarán nuevas ganas de rascar, así como rincones donde Pact podría ser aún mejor:
Abstracciones de cadenas: Si bien Pact ya se envía con un conjunto completo de herramientas para manipular cadenas, algunos conceptos más avanzados fueron difíciles y costosos de implementar, y a medida que los desarrolladores de Pact se vuelven más sofisticados, han identificado algunas brechas: a saber, la capacidad de tratar una cadena como una matriz, o lista de personajes, así como más herramientas de manipulación de listas.
Con el nuevo str-to-list incorporado, los desarrolladores de Pact pueden realizar conversiones económicas para utilizar las poderosas operaciones de lista funcional de Pact, como mapa, filtro y pliegue en una lista de cadenas de un solo carácter. Por supuesto, sería antideportivo no poder convertir de nuevo, lo que exponía la necesidad de lo común. concat operación – si bien ya se logra fácilmente con (fold (+) “”…), la familiaridad con la concatenación lo convierte en un buen par para str-to-list como una transformación bidireccional: un par de funciones que los desarrolladores pueden tener en cuenta cuando necesiten realizar operaciones avanzadas en cadenas.
Más operaciones de lista: Pact, como LISP, se trata de listas, y en su total generalidad permite todas las operaciones imaginables si puede expresarlas, todo dentro de un lenguaje Turing-incompleto. Sin embargo, como concat, algunas operaciones simplemente se manejan mejor como integradas, lo que nuevamente la comunidad notó. Cosas como eliminar la duplicación de entradas de lista con deducir, o emitiendo series de números con enumerar, ofrecen formas económicas de hacer estas cosas útiles y se centran más en la lógica empresarial.
Más formas de emitir eventos: Pact ya tiene un gran mecanismo para eventos, que forman "hechos" cripto-verificables que son críticos para los indexadores y para las operaciones de cadena cruzada en Kadena y cadenas de EVM por igual. El nuevo emitir evento incorporado hace que la activación de eventos sea "gratuita" en lugar de usar con capacidad que invoca la capacidad incluso si es un evento vacío. Sin emabargo, emitir evento también permite que las capacidades administradas tengan valores de parámetros arbitrarios cuando se utilizan como eventos. Por ejemplo, la capacidad fungible TRANSFER emite el evento TRANSFER, pero solo para transferencias válidas de “conservación de saldo” como “Bob le da a Alice 10.0 tokens”. Con emitir evento, TRANSFER también se puede usar para "quema" y "crea" usando la cuenta vacía (""), que nunca formaría una capacidad de TRANSFERENCIA válida, pero sigue ERC-20 y los estándares relacionados para quemar y crear emisión de eventos de una manera que los indexadores y los intercambios esperan.
Eventos de cadena cruzada integrados y compatibilidad con versiones anteriores de actualización: Pact tiene la mejor historia entre cadenas de todos los lenguajes de contratos inteligentes gracias a defpactos, que manejan automáticamente transferencias entre cadenas para cualquier activo imaginable sin esfuerzo de desarrollador. Sin embargo, fue difícil para los indexadores estar al tanto de estos sucesos; y lo que es peor, si se actualizara un contrato inteligente, podría significar que una cadena cruzada iniciada de antemano podría quedar permanentemente "huérfana", ya que el control de seguridad para cadenas cruzadas exige que los hashes de código coincidan en ambos lados; después de una actualización, esto fallaría.
En el Pacto 4, el ya existente bendecir El mecanismo, que permite que las versiones anteriores del código de contrato inteligente continúen respaldando a los usuarios anteriores, ahora también admite transferencias entre cadenas que abarcan una actualización con el inevitable cambio de hash. Además, Pact emite ahora automáticamente X_YIELD y X_RESUME eventos para cada cadena cruzada, lo que significa que los desarrolladores ya no tienen que preocuparse de que los indexadores sigan sus eventos de cadena cruzada.
Soporte de KDA para más eventos: versión 3 del moneda El contrato para KDA aprovecha al máximo las nuevas características del Pacto 4 para emitir eventos de TRANSFERENCIA para cada evento en la cadena de bloques, ya sean recompensas de mineros, pagos de gas o quemaduras y creaciones entre cadenas. Bendice el hash anterior para garantizar que las cadenas cruzadas midstream tengan éxito durante la actualización. Finalmente, aprovecha los eventos X_YIELD y X_RESUME para ser la moneda de plataforma más transparente e indexable de todos los tiempos. Es importante recordar que, a diferencia de cualquier otra cadena de bloques, la economía de KDA se implementa mediante un contrato inteligente: por eso, en Kadena, somos tanto Pact usuarios como somos sus diseñadores. moneda actúa como un gran libro de cocina para que los nuevos desarrolladores lo estudien y la versión 3, con Pact 4, no es una excepción.
Con soporte de verificación formal y excelente soporte para pruebas unitarias y simulación de blockchain, Pact ya es el mejor lenguaje para contratos inteligentes correctos y sin errores. Sin embargo, a medida que Pact se hace responsable de cada vez más valor, cosas como el código de auditoría se vuelven críticas. El Pacto 4 aborda una necesidad importante al proporcionar cobertura de código para que los desarrolladores puedan ver inmediatamente si sus pruebas unitarias están utilizando completamente su código.
Soporte de cobertura de código en Pact 4 con soporte de editor Atom. El rojo significa read-account-admin carece de cobertura de código y necesita pruebas.
Esto, por supuesto, está totalmente respaldado en el pacto herramienta simplemente agregando "-c" a la llamada al pacto. En el editor Atom, una actualización rápida a la versión 2.6.4 de pacto lingüístico, además de agregar el lcov-info plugin, brinda acceso rápido a los resultados de la cobertura. La cobertura en Github CI se puede habilitar rápidamente con la acción estándar de informe de cobertura de código.
Nunca ha sido un mejor momento para comenzar a aprender Pact que ahora, ya que la cadena de bloques de Kadena continúa su rápido crecimiento como el "hogar de DeFi" con todos los casos de uso importantes en camino a la producción antes de que finalice 2021. Consulte los documentos y actualice descargándolo o usando brew upgrade kadena-io / pact / pact.
¡Entra en el camino interno y comienza a escribir contratos inteligentes exitosos, seguros y rentables en Pact! ¡Consulte nuestro inicio rápido para desarrolladores en https://quickstart.chainweb.com/, únase a nuestro Discord y comience a piratear!