Guía de desarrollo no autorizado de Solidity (1): panorama de extremo a extremo

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:

  1. Crear un directorio de proyectos.
  2. 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:

  1. npm install hardhat-gas-reporter --save-dev
  2. Después de la instalación, se importará  hardhat.config.ts automáticamente.
  3. Configuración  .env.env.example cambie el nombre del archivo de ejemplo), agregue una línea: REPORT_GAS=on.
  4. 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:

  1. Modifique  .env(nuevamente,  .env.example como resultado del cambio de nombre) el valor predeterminado  rpc url y  private key.
  2. hardhat.config.ts Modifique los parámetros en  si es necesario  networks .
  3. Modifique según sea necesario  scripts/deploy.ts.
  4. 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ón  rinkeby.

Configurado a otras cadenas (como mumbai), nada más que:

  1. Modificar  .env, agregar en consecuencia  rpc url.
  2. Modifique  los parámetros hardhat.config.ts en el  proceso networks , agregue los parámetros de red correspondientes y luego ejecútelo  deploy.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:

  1. Se puede mostrar un token de verificación en la pestaña Contrato de la página del contrato en etherscan.

  2. Muestra el código fuente del contrato.

  3. 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:

  1. npm install --save-dev @nomiclabs/hardhat-etherscan
  2. Además, después de la instalación, se importará automáticamente en el archivo de configuración.
  3. .env siendo  revisado ETHERSCAN_API_KEY
  4. 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

Supongo que te gusta

Origin blog.csdn.net/smartContractXH/article/details/128202050
Recomendado
Clasificación