Como primer artículo del nuevo pozo, comencemos por comprender el proceso de desarrollo completo de extremo a extremo del proyecto de solidez.
Siguiendo el principio consistente de la serie "Guía de desarrollo no autorizado", esta serie no enredará los detalles gramaticales de la solidez. Todo el contenido proviene de la práctica y sirve para el trabajo real, sin decir tonterías. Esta es la razón por la que personalmente creo que es más significativo presentar todo el proceso de desarrollo en el primer artículo, ya que lo ayudará a comprender qué es el trabajo típico de desarrollo por contrato, a fin de establecer rápidamente un concepto general.
El llamado extremo a extremo en realidad se refiere al siguiente contenido de trabajo:
- creación de proyectos
- El ciclo desarrollar-probar-optimizar
- despliegue de contrato
- verificación de contrato
Lo anterior es lo que implica un proyecto de contrato típico, veamos cómo completar cada paso.
creación de proyectos
Para el desarrollo de software, las herramientas son lo primero y los proyectos de contrato no son una excepción. Para proyectos de solidez, elegimos hardhat
. Pasos para crear un proyecto:
- Crear un directorio de proyectos.
- Una vez en el directorio, ejecute:
npx hardhat
.
Aparecerá un asistente de línea de comandos en este punto, se recomienda seleccionar directamente: Create an advanced sample project that uses TypeScript
.
Si bien puede contener un montón de cosas, tiene un gran beneficio: estantes con artículos típicos, ya configurados, que solo requieren modificaciones y ajustes para la mayoría de las tareas. Para los principiantes, el umbral se puede reducir considerablemente y la energía se puede concentrar en el desarrollo del contrato en lugar de lanzar varias configuraciones. Incluso para los veteranos, comenzar aquí puede ahorrarles mucho esfuerzo.
Por supuesto, otro método es buscar varias plantillas preconfiguradas desde github y directamente bifurcar + clonar.
El ciclo desarrollar-probar-optimizar
Después de crear el proyecto de acuerdo con los pasos anteriores, debe tener:
- un contrato de muestra
- una prueba de ejemplo
- Un script de configuración de muestra
Es posible que desee echar un vistazo rápido a su contenido y al directorio donde se encuentran, para que sepa cuáles son. El desarrollo diario que debe hacer es crear los archivos correspondientes en el directorio correspondiente y luego ejecutar los comandos relevantes. Dado que el contrato y el código de prueba ya tienen ejemplos en el proyecto, no repetiré un "hola mundo" aquí.
El comando para ejecutar las pruebas es simple: npx hardhat test
.
Cuando el desarrollo del contrato se completa y pasa la prueba, el siguiente enfoque es: la optimización. "Optimización" en sí tiene muchos significados, como algoritmo de optimización, pero la optimización aquí se refiere específicamente a: optimización de gas.
Para cualquier optimización, el primer paso es "medir", aquí quiere decir: obtener el "informe de gas" del método de contrato:
npm install hardhat-gas-reporter --save-dev
- Después de la instalación, se importará
hardhat.config.ts
automáticamente. - Configuración
.env
(.env.example
cambie el nombre del archivo de ejemplo), agregue una línea:REPORT_GAS=on
. - correr
npx hardhat test
_
De esta manera, una vez completada la prueba, imprimirá todos los métodos de contrato consumidos gas report
. De acuerdo con esto, puede comenzar su viaje de optimización.
Tenga en cuenta que hardhat-gas-reporter
la red externa estará conectada. Si cree que reduce la velocidad de la prueba, puede .env
apagarla en .
despliegue de contrato
Después del desarrollo y la optimización, el siguiente paso es la implementación:
- Modifique
.env
(nuevamente,.env.example
como resultado del cambio de nombre) el valor predeterminadorpc url
yprivate key
. hardhat.config.ts
Modifique los parámetros en si es necesarionetworks
.- Modifique según sea necesario
scripts/deploy.ts
. - Ejecute el comando de implementación, ejemplo:
npx hardhat run --network rinkeby scripts/deploy.ts
, asegúrese de que haya una configuración de red en el archivo de configuraciónrinkeby
.
Configurado a otras cadenas (como mumbai), nada más que:
- Modificar
.env
, agregar en consecuenciarpc url
. - Modifique los parámetros
hardhat.config.ts
en el procesonetworks
, agregue los parámetros de red correspondientes y luego ejecútelodeploy.ts
.
verificación de contrato
El último eslabón de todo el proceso es la verificación del contrato, que es relativamente desconocida para la mayoría de los principiantes. Pero en términos simples, el papel de la verificación es:
-
Se puede mostrar un token de verificación en la pestaña Contrato de la página del contrato en etherscan.
-
Muestra el código fuente del contrato.
-
Los usuarios pueden solicitar contratos directamente en etherscan:
- El botón "Leer contrato" corresponde al método de lectura
- El botón "Escribir contrato" corresponde al método de escritura
En términos generales, este paso se requiere para proyectos de contratos formales. Pasos de verificación:
npm install --save-dev @nomiclabs/hardhat-etherscan
- Además, después de la instalación, se importará automáticamente en el archivo de configuración.
.env
siendo revisadoETHERSCAN_API_KEY
- Ejecute
verify
el comando, ejemplo:npx hardhat verify --network rinkeby 合约地址 "参数"
.
Después de completar, ingrese etherscan para ver el efecto
Link de referencia
- casco de seguridad
- reportero-de-gas-de-casco-duro