Actualmente, el despliegue del contrato Era solo se puede lograr a través de la línea de comando, lo cual es un poco complicado.

Después de explorar un poco, básicamente estaba familiarizado con la situación. Aquí lo ayudaremos a resolver el proceso completo de implementación y verificación, y tomaremos la implementación del contrato más simple como ejemplo para que todos puedan comenzar más fácilmente.

paso:

1. Preparación del entorno

2. Preparación del código de contrato

3. Implementar contrato de verificación

Conjunto ambiental de tres piezas.

Consulte la documentación oficial de Era para instalar el conjunto de entorno de tres piezas:

El entorno informático de todos para Node, NVM y Yarn es complejo. Si encuentra un error, puede buscarlo en Google o hacer preguntas a ChatGPT:

https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#prerequisitos

Inicialización e instalación del SDK

Continúe consultando la documentación oficial y proceda de la siguiente manera:

1. Cree una nueva carpeta exclusiva (comando mk y cd)

2. Inicialice el entorno (comando Yarn init -y)

3. Instale el SDK y las dependencias (comando de adición de hilo)

archivo de configuración de configuración

Cree el archivo hardhat.config.ts en el directorio actual. El código que uso es el siguiente (puede copiarlo completamente en el ALT de la imagen) Nota: Es posible que necesite instalar el paquete zksolc una vez más (así es como). Resolví el error al compilar). Si modifica la versión de zksolc, como cambiar a la versión oficial recomendada 1.3.10, también se descargará automáticamente una vez.

¡Aquí necesita su entorno de línea de comando para poder acceder a la red externa normalmente! Por ejemplo, active el “modo mejorado” de Surge

Contrato inteligente minimalista

P: ¿Cómo es el contrato inteligente más simple?

Respuesta: Un contrato que solo contiene el nombre del contrato y nada más. Por ejemplo, el contrato en la captura de pantalla solo define la versión y el nombre del contrato, pero de hecho es un contrato inteligente legal (puede copiar el código de la imagen ALT).

Tres pasos:

1. Cree una nueva carpeta de contrato (implementación de contratos mkdir)

2. Editar el archivo del contrato (mini.sol)

3. Recopilar el contrato

compilar contrato

En teoría, la compilación debería ser muy simple y requerir solo un comando para tomar una captura de pantalla. Pero, de hecho, la probabilidad de que se informen errores aquí es extremadamente alta.

Si se informa un error, puede consultar los dos lugares siguientes:

1. Si el entorno de línea de comando puede acceder a la red externa (método de detección: curl http://google.com)

2. Reinstale zksolc y vuelva a intentarlo (https://twitter.com/gm365/status/1644303144518848512…)

Si todo va bien, la compilación será exitosa como se muestra en la figura.

Contrato de implementación

Hay dos pasos para implementar un contrato:

1. Cree el archivo implementar/deploy.ts y modifíquelo

2. El comando `yarn hardhat implementar-zksync` implementa el contrato

He modificado el archivo implementar.ts, puedes copiar el código desde ALT. Tenga en cuenta los dos lugares marcados con ❗️ en la imagen, que debe modificar según la situación.

1. Implementar la clave privada de la billetera EOA del contrato.

2. El nombre del contrato que definiste en el paso anterior (WTF aquí).

Ejecute el comando de implementación. Si todo va bien, verá la dirección del contrato después de una implementación exitosa en unos diez segundos.

Verificar el código fuente del contrato

Una vez completada la implementación, también puede optar por abrir el código de su contrato verificándolo en el navegador blockchain.

Después de encontrar la dirección de su contrato:

1. Versión de Zksolc: aquí está la 1.3.5 (seleccione según su configuración actual)

2. Versión de Solc: Esta es 0.8.17 (elemento de configuración en el archivo hardhat.config.ts)

3. Nombre del contrato (WTF aquí)

4. Código de contrato (copiar y pegar)

Resumir

Si todo va bien, felicidades por completar la primera implementación de contrato inteligente en la cadena Era.

Una vez que aprenda esta habilidad básica, será fácil implementar contratos más complejos en el futuro.

Dado que escribimos el contrato más simple, el costo de implementación de este contrato también es extremadamente bajo (gasté $0,21 para la prueba aquí).

Además, aquí hay algunos recursos que pueden resultar útiles:

1. Documentación oficial: https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html…

2. Tutorial de terceros: https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…

3. Una introducción a la implementación del contrato Era que escribí antes: https://twitter.com/gm365/status/1644299731236171778…

digresión

zkSync no es totalmente compatible con EVM y sus diferentes mecanismos para implementar contratos hacen imposible usar Remix y otros métodos para implementar directamente el contrato en la página web (ThirdWeb actualmente tampoco puede completar la implementación, aunque se muestra en el sitio web). que se puede implementar en Era a través de su contrato modelo, pero en realidad no es posible, solo lo admitieron en DC).

Espero que el equipo de zkSync continúe trabajando duro para facilitar la implementación del contrato en el futuro.