الدرس رقم 4

Contratos inteligentes

Este módulo proporciona una descripción técnica detallada de zkSync, centrándose en escribir e implementar contratos inteligentes, utilizando zkSync CLI y SDK, e integrando zkSync con entornos de desarrollo existentes.

Los contratos inteligentes en zkSync funcionan de manera similar a los de Ethereum, pero con una escalabilidad y eficiencia mejoradas debido a la tecnología zkRollup subyacente. zkSync utiliza pruebas de conocimiento cero para mantener la seguridad y la falta de confianza mientras procesa transacciones fuera de la cadena.

Los argumentos de conocimiento sucintos no interactivos de cero conocimiento (zk-SNARKs) se utilizan para verificar la corrección de cálculos fuera de la cadena. En zkSync, zk-SNARKs garantizan que todas las transacciones y ejecuciones de contratos inteligentes son válidas sin tener que realizar los cálculos en la mainnet de Ethereum. Esto reduce la carga computacional y las tarifas de gas asociadas, lo que permite un mayor rendimiento.

La Era zkSync, la última iteración, es totalmente compatible con la Máquina Virtual Ethereum (EVM). Esto significa que la mayoría de los contratos inteligentes escritos para Ethereum pueden ser desplegados en zkSync con poca o ninguna modificación. La compatibilidad con EVM asegura que los desarrolladores puedan utilizar herramientas y lenguajes familiares (como Solidity) para escribir y desplegar sus contratos.

La era zkSync también integra zkPorter, una solución de disponibilidad de datos que mejora la escalabilidad. zkPorter permite que ciertos datos se mantengan fuera de la cadena, aumentando significativamente la cantidad de transacciones que pueden procesarse sin congestionar la red principal de Ethereum.

Redacción e implementación de contratos inteligentes

Los contratos inteligentes para zkSync están escritos en Solidity, el mismo lenguaje utilizado para los contratos inteligentes de Ethereum. Los desarrolladores pueden utilizar la misma sintaxis y estructuras lógicas a las que están acostumbrados, lo que hace que la transición a zkSync sea muy sencilla.

Despliegue de Contratos inteligentes

1.Configurar el entorno de desarrollo:

  • Instalar Node.js y npm (Node Package Manager).
  • Instalar el zkSync y casco de seguridadpaquetes a través de npm.
  • Inicialice un nuevo proyecto de Hardhat y configúrelo para trabajar con zkSync.

2.Configuración:

Modificar el hardhat.config.jsarchivo para incluir configuraciones específicas de zkSync, como las URL de la red zkSync y las opciones de compilador específicas de zkSync.

La configuración de ejemplo podría ser así:

3.Compilar los contratos inteligentes:

Usando el marco de trabajo Hardhat, es posible compilar contratos Solidity. El complemento Hardhat zkSync garantiza que la compilación sea compatible con la red zkSync.

4.Implementación de Contratos Inteligentes:

El proceso de implementación implica conectarse al proveedor zkSync, crear una instancia de billetera y usarla para implementar el contrato. Ejemplo de script de implementación:

Herramientas de desarrollo disponibles

Hardhat

Hardhat es un entorno de desarrollo y corredor de tareas para Ethereum que se ha ampliado para admitir zkSync. Permite a los desarrolladores compilar, implementar, probar y depurar contratos inteligentes de Solidity.

zkSync SDK

El SDK de zkSync proporciona herramientas y bibliotecas para interactuar con zkSync desde un entorno JavaScript. Incluye utilidades para configurar carteras, enviar transacciones e interactuar con contratos inteligentes implementados en zkSync.

zkSync CLI

La interfaz de línea de comandos (CLI) de zkSync ofrece funcionalidades para gestionar proyectos zkSync, incluida la implementación de contratos y la gestión de cuentas.

Remix IDE

Remix es una aplicación de código abierto para web y escritorio que ayuda a escribir contratos Solidity directamente desde el navegador. Admite zkSync a través de complementos y configuraciones que lo conectan a la red zkSync.

Integración

Las herramientas de desarrollo se integran para proporcionar un entorno coherente para desarrollar, probar e implementar contratos inteligentes en zkSync.

Hardhat y SDK zkSync

Hardhat se integra con el SDK de zkSync para proporcionar un flujo de trabajo fluido para los desarrolladores. Los complementos de Hardhat para zkSync manejan los procesos de compilación e implementación, mientras que el SDK de zkSync proporciona la funcionalidad subyacente para interactuar con la red zkSync. Esta combinación permite a los desarrolladores escribir scripts de implementación y pruebas utilizando construcciones familiares de Hardhat mientras aprovechan las características específicas de zkSync.

Hardhat y Remix

Los desarrolladores pueden escribir y probar contratos inteligentes utilizando Remix y luego usar Hardhat para escenarios de implementación más complejos. Los artefactos compilados de Remix se pueden importar fácilmente en un proyecto de Hardhat, lo que permite flujos de trabajo de desarrollo flexibles.

zkSync CLI

El CLI de zkSync se puede utilizar junto con Hardhat y el SDK de zkSync para gestionar implementaciones e interactuar con contratos desplegados. Proporciona una interfaz de línea de comandos para tareas comunes, como implementar contratos o gestionar claves de cuenta, que se pueden integrar en canalizaciones de implementación automatizadas.

Pruebas y depuración

El marco de pruebas de Hardhat se puede utilizar para escribir pruebas unitarias y de integración para contratos inteligentes. Estas pruebas se pueden ejecutar en un nodo zkSync local o en una red de prueba para garantizar que los contratos se comporten como se espera. El SDK de zkSync facilita la interacción con los contratos durante las pruebas, lo que permite una cobertura completa de las pruebas.

Al integrar estas herramientas, los desarrolladores pueden escribir, probar, implementar y gestionar de manera eficiente contratos inteligentes en zkSync, utilizando la escalabilidad y eficiencia de costos de zkRollups, manteniendo al mismo tiempo una experiencia de desarrollo familiar. Esta integración respalda un sólido ciclo de vida de desarrollo, desde la creación inicial del contrato hasta la implementación y el mantenimiento continuo.

Aspectos destacados

  • Escribir y desplegar contratos inteligentes en zkSync implica el uso de Solidity y Vyper, con compilación a través de compiladores personalizados de zkSync.
  • El CLI y SDK de zkSync proporcionan herramientas completas para la configuración de proyectos, compilación de contratos, implementación e interacción.
  • La integración con herramientas de desarrollo como Hardhat, Foundry, Remix y Atlas mejora la experiencia del desarrollador.
  • Adherirse a las mejores prácticas garantiza un desarrollo seguro y eficiente de contratos inteligentes en zkSync.
إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 4

Contratos inteligentes

Este módulo proporciona una descripción técnica detallada de zkSync, centrándose en escribir e implementar contratos inteligentes, utilizando zkSync CLI y SDK, e integrando zkSync con entornos de desarrollo existentes.

Los contratos inteligentes en zkSync funcionan de manera similar a los de Ethereum, pero con una escalabilidad y eficiencia mejoradas debido a la tecnología zkRollup subyacente. zkSync utiliza pruebas de conocimiento cero para mantener la seguridad y la falta de confianza mientras procesa transacciones fuera de la cadena.

Los argumentos de conocimiento sucintos no interactivos de cero conocimiento (zk-SNARKs) se utilizan para verificar la corrección de cálculos fuera de la cadena. En zkSync, zk-SNARKs garantizan que todas las transacciones y ejecuciones de contratos inteligentes son válidas sin tener que realizar los cálculos en la mainnet de Ethereum. Esto reduce la carga computacional y las tarifas de gas asociadas, lo que permite un mayor rendimiento.

La Era zkSync, la última iteración, es totalmente compatible con la Máquina Virtual Ethereum (EVM). Esto significa que la mayoría de los contratos inteligentes escritos para Ethereum pueden ser desplegados en zkSync con poca o ninguna modificación. La compatibilidad con EVM asegura que los desarrolladores puedan utilizar herramientas y lenguajes familiares (como Solidity) para escribir y desplegar sus contratos.

La era zkSync también integra zkPorter, una solución de disponibilidad de datos que mejora la escalabilidad. zkPorter permite que ciertos datos se mantengan fuera de la cadena, aumentando significativamente la cantidad de transacciones que pueden procesarse sin congestionar la red principal de Ethereum.

Redacción e implementación de contratos inteligentes

Los contratos inteligentes para zkSync están escritos en Solidity, el mismo lenguaje utilizado para los contratos inteligentes de Ethereum. Los desarrolladores pueden utilizar la misma sintaxis y estructuras lógicas a las que están acostumbrados, lo que hace que la transición a zkSync sea muy sencilla.

Despliegue de Contratos inteligentes

1.Configurar el entorno de desarrollo:

  • Instalar Node.js y npm (Node Package Manager).
  • Instalar el zkSync y casco de seguridadpaquetes a través de npm.
  • Inicialice un nuevo proyecto de Hardhat y configúrelo para trabajar con zkSync.

2.Configuración:

Modificar el hardhat.config.jsarchivo para incluir configuraciones específicas de zkSync, como las URL de la red zkSync y las opciones de compilador específicas de zkSync.

La configuración de ejemplo podría ser así:

3.Compilar los contratos inteligentes:

Usando el marco de trabajo Hardhat, es posible compilar contratos Solidity. El complemento Hardhat zkSync garantiza que la compilación sea compatible con la red zkSync.

4.Implementación de Contratos Inteligentes:

El proceso de implementación implica conectarse al proveedor zkSync, crear una instancia de billetera y usarla para implementar el contrato. Ejemplo de script de implementación:

Herramientas de desarrollo disponibles

Hardhat

Hardhat es un entorno de desarrollo y corredor de tareas para Ethereum que se ha ampliado para admitir zkSync. Permite a los desarrolladores compilar, implementar, probar y depurar contratos inteligentes de Solidity.

zkSync SDK

El SDK de zkSync proporciona herramientas y bibliotecas para interactuar con zkSync desde un entorno JavaScript. Incluye utilidades para configurar carteras, enviar transacciones e interactuar con contratos inteligentes implementados en zkSync.

zkSync CLI

La interfaz de línea de comandos (CLI) de zkSync ofrece funcionalidades para gestionar proyectos zkSync, incluida la implementación de contratos y la gestión de cuentas.

Remix IDE

Remix es una aplicación de código abierto para web y escritorio que ayuda a escribir contratos Solidity directamente desde el navegador. Admite zkSync a través de complementos y configuraciones que lo conectan a la red zkSync.

Integración

Las herramientas de desarrollo se integran para proporcionar un entorno coherente para desarrollar, probar e implementar contratos inteligentes en zkSync.

Hardhat y SDK zkSync

Hardhat se integra con el SDK de zkSync para proporcionar un flujo de trabajo fluido para los desarrolladores. Los complementos de Hardhat para zkSync manejan los procesos de compilación e implementación, mientras que el SDK de zkSync proporciona la funcionalidad subyacente para interactuar con la red zkSync. Esta combinación permite a los desarrolladores escribir scripts de implementación y pruebas utilizando construcciones familiares de Hardhat mientras aprovechan las características específicas de zkSync.

Hardhat y Remix

Los desarrolladores pueden escribir y probar contratos inteligentes utilizando Remix y luego usar Hardhat para escenarios de implementación más complejos. Los artefactos compilados de Remix se pueden importar fácilmente en un proyecto de Hardhat, lo que permite flujos de trabajo de desarrollo flexibles.

zkSync CLI

El CLI de zkSync se puede utilizar junto con Hardhat y el SDK de zkSync para gestionar implementaciones e interactuar con contratos desplegados. Proporciona una interfaz de línea de comandos para tareas comunes, como implementar contratos o gestionar claves de cuenta, que se pueden integrar en canalizaciones de implementación automatizadas.

Pruebas y depuración

El marco de pruebas de Hardhat se puede utilizar para escribir pruebas unitarias y de integración para contratos inteligentes. Estas pruebas se pueden ejecutar en un nodo zkSync local o en una red de prueba para garantizar que los contratos se comporten como se espera. El SDK de zkSync facilita la interacción con los contratos durante las pruebas, lo que permite una cobertura completa de las pruebas.

Al integrar estas herramientas, los desarrolladores pueden escribir, probar, implementar y gestionar de manera eficiente contratos inteligentes en zkSync, utilizando la escalabilidad y eficiencia de costos de zkRollups, manteniendo al mismo tiempo una experiencia de desarrollo familiar. Esta integración respalda un sólido ciclo de vida de desarrollo, desde la creación inicial del contrato hasta la implementación y el mantenimiento continuo.

Aspectos destacados

  • Escribir y desplegar contratos inteligentes en zkSync implica el uso de Solidity y Vyper, con compilación a través de compiladores personalizados de zkSync.
  • El CLI y SDK de zkSync proporcionan herramientas completas para la configuración de proyectos, compilación de contratos, implementación e interacción.
  • La integración con herramientas de desarrollo como Hardhat, Foundry, Remix y Atlas mejora la experiencia del desarrollador.
  • Adherirse a las mejores prácticas garantiza un desarrollo seguro y eficiente de contratos inteligentes en zkSync.
إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.